我正在尝试通过 sed 在文本文件中插入一些单词。
问题是某些单词具有以下字符串
-sv /
所以我想找到-sv /
然后在-ALLOWTEXT /
下面插入-sv /
。
所以我用
find . -name "main.v" -exec sed -i '/-sv //a -ALLOWTEXT \\n' "{}" \;
我得到如下错误
sed: -e expression #1, char 7: unknown command: `/'
编辑:对不起,我的错字。-sv / 应该是 -sv \
我想找到-sv \
然后在-ALLOWTEXT \
下面插入-sv \
。所以我跑
find . -name "main.v" -exec sed -i '/-sv \//a -ALLOWTEXT \//' {} \;
通过引用一个很好的答案。
那么它的工作原理。;)
对于包含文本的给定文件:
-sv /
要在该行下方插入包含以下文本的行:
-ALLOWTEXT /
与 GNU sed
:
$ cat input.txt
-sv /
$ sed '/-sv \//a -ALLOWTEXT /' input.txt
-sv /
-ALLOWTEXT /
因为/
s 是 的特殊字符sed
,所以当它们出现在您要查找的文本中时,您需要使用前面的 将它们转义\
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句