使用bash脚本,我正在尝试在文件中插入一行文本(最终将有4行额外的文本,依次排列)。
我正在尝试实现iiSeymour在该主题中的答案: 从特定行开始在文件中插入行 我认为这与dgibbs在他自己的主题中所做的评论相同: Bash:在特定位置向文件中插入一行 我想要插入新文本的那一行非常长,因此我首先将其保存在变量中。
在运行时:
我得到了这个错误:
我也尝试着跟随这个线程:
我正在尝试实现iiSeymour在该主题中的答案: 从特定行开始在文件中插入行 我认为这与dgibbs在他自己的主题中所做的评论相同: Bash:在特定位置向文件中插入一行 我想要插入新文本的那一行非常长,因此我首先将其保存在变量中。
field1=$(head -2 file847script0.xml | tail -1)
我想要插入的文本是:
insert='newtext123'
在运行时:
sed -i".bak" "s/$field1/$field1\n$insert/" file847script0.xml
我得到了这个错误:
sed: 1: "s/<ImageAnnotation xmln ...": bad flag in substitute command: 'c'
我也尝试着跟随这个线程:
sed throws 'bad flag in substitute command'
但是命令:sed -i".bak" "s/\/$field1/$field1\n$insert/" file847script0.xml
仍然给我相同的错误:
sed: 1: "s/\/<ImageAnnotation xm ...": bad flag in substitute command: 'c'
我正在使用 Mac OS X 10.5。
你有什么想法,我做错了什么吗?谢谢!
sed "s|$field...|..." ...
。 - nic ferrier