使用shell脚本使用vi / vim附加文件

时间:2018-08-16 08:49:38

标签: shell unix vim vi

我正在尝试编写一个外壳程序,该外壳程序将在“ .txt”文件中附加一些数据(存储在变量中)。我正在尝试使用'vi'做。我知道也可以使用其他工具来附加文件...但是我只需要使用vi

我在下面的命令中尝试过,但是很遗憾,此命令未将数据插入文件的末尾。

echo $'i{$var}\E:x\n' |vi file.txt

2 个答案:

答案 0 :(得分:1)

使用vi/vim不允许您就地对文件进行命令行编辑。相反,您可以使用其等效于命令行的工具exvi-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