我正在尝试编写一个外壳程序,该外壳程序将在“ .txt”文件中附加一些数据(存储在变量中)。我正在尝试使用'vi'做。我知道也可以使用其他工具来附加文件...但是我只需要使用vi
我在下面的命令中尝试过,但是很遗憾,此命令未将数据插入文件的末尾。
echo $'i{$var}\E:x\n' |vi file.txt
答案 0 :(得分:1)
使用vi/vim
不允许您就地对文件进行命令行编辑。相反,您可以使用其等效于命令行的工具ex
(vi-summary.doc),该工具应在任何符合POSIX的外壳中可用。
cat file
foo
bar
现在在命令行中将ex
实用程序用作
var=dude
printf '%s\n' '$a' "$var" '.' x | ex file
这将就地编辑文件,并在文件的最后一行添加文本dude
。
cat file
foo
bar
dude
答案 1 :(得分:0)
我也认为这项工作
var="value"
printf "$(cat file.txt)\n$var" > newfile.txt