关于grep命令

我正在尝试更改我的作业中的版权标题。 我可以使用以下命令列出所有带有版权标题的文件:

grep -rni copyright * 

通过上面的命令,我得到了大约1000个文件。

任何人都可以请帮助我如何一次性改变所有的文件?

这将对文本进行文本更改,在其中包含“版权”一词(不区分大小写):

 for filename in *; do if grep -qi "copyright" "$filename"; then sed -i'' -e 's/old text/new text/' "$filename" fi done 

请注意,这只适用于当前目录。 要处理子目录中的文件,您可能需要使用find命令。

如果你能描述你想要做的文字变化,我们可能会提出更精确的方法来实现你的目标。

 grep -ril copyright * | xargs sed -i 's/old text/new text/' 

有一个叫做头痛的简单工具,我发现对于处理这类问题非常有用。 至少在Debian和Ubuntu上可用。