假设有如下文本文件:
Hello world
types=""
Mario
types="Game"
我想要做的是找到第一次出现的type=""
“program”并将其附加在后面。我需要输出如下内容:
Hello world
types="program"
Mario
types="Game"
我需要在 Unix shell 脚本中使用它。我尝试的是:
sed -i '1,/types=""/s/types=""/types="program"/' filename
从命令来看,它只能插入,不能追加。我尝试添加,a\
但仍然不起作用。
答案1
您的sed
单行替换似乎已经按预期工作:
$ cat t.txt
Hello world
types=""
Mario
types="Game"
$ sed '1,/types=""/s/types=""/types="program"/' t.txt
Hello world
types="program"
Mario
types="Game"
也许值得编辑你的问题来展示什么你当您运行sed
命令时获取(不带-i
选项,以便将结果打印到终端)。
顺便说一句,你的范围1,/types=""/
是多余的。你可以将其简化为:
sed '/types=""/s/types=""/types="program"/' t.txt