我想将多行回显到来自 grep 结果的文件中。
实际上,我是 grep
使用命令从某些文件中提取一些文本:
find . -name *.h -o -name *.c -o -name *.cpp | xargs grep -n -l --color Apache
上面命令的输出是这样的:
./DIR/A.h
./DIR/B.cpp
./DIR/C.c
借助 grep 命令的 -l
选项,我可以从 grep 结果中获取文件名。
现在我想在文件 A.h B.cpp C.c
中插入多行。
我该怎么做?
最佳答案
试试这个:
find . -name *.h -o -name *.c -o -name *.cpp | \
xargs grep -n -l --color Apache | \
xargs sed -i '1s/^/text to prepend\n/'
这将在每个文件上添加文本“要添加的文本
”。
关于linux - 如何将多行回显到来自 grep 结果的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32648329/