使用 shell 脚本使用 vi/vim 追加文件
to append the file using vi/vim using shell script
我正在尝试编写一个 shell,它会在一个“.txt”文件中附加一些数据(存储在一个变量中)。我正在尝试使用 'vi' 来做到这一点。我知道还有其他工具可以追加文件...但我只需要使用 vi
我试过下面的命令,但不幸的是这个命令没有将数据插入到文件的末尾。:
echo $'i{$var}\E:x\n' |vi file.txt
使用 vi/vim
不允许您就地对文件进行命令行编辑。相反,您可以使用它的命令行等效工具 ex
(vi-summary.doc),它应该在任何 POSIX 兼容的 shell.
中可用。
cat file
foo
bar
现在在命令行中使用 ex
实用程序作为
var=dude
printf '%s\n' '$a' "$var" '.' x | ex file
这将就地编辑文件并在文件的最后一行添加文本 dude
。
cat file
foo
bar
dude
我觉得这个也行
var="value"
printf "$(cat file.txt)\n$var" > newfile.txt
我正在尝试编写一个 shell,它会在一个“.txt”文件中附加一些数据(存储在一个变量中)。我正在尝试使用 'vi' 来做到这一点。我知道还有其他工具可以追加文件...但我只需要使用 vi
我试过下面的命令,但不幸的是这个命令没有将数据插入到文件的末尾。:
echo $'i{$var}\E:x\n' |vi file.txt
使用 vi/vim
不允许您就地对文件进行命令行编辑。相反,您可以使用它的命令行等效工具 ex
(vi-summary.doc),它应该在任何 POSIX 兼容的 shell.
cat file
foo
bar
现在在命令行中使用 ex
实用程序作为
var=dude
printf '%s\n' '$a' "$var" '.' x | ex file
这将就地编辑文件并在文件的最后一行添加文本 dude
。
cat file
foo
bar
dude
我觉得这个也行
var="value"
printf "$(cat file.txt)\n$var" > newfile.txt