我正在尝试更改我的作业中的版权标题。我可以使用以下命令列出所有带有版权标题的文件:关于grep命令
grep -rni copyright *
通过上述命令,我获得了大约1000个文件。
任何人都可以请帮助我如何一次性更改所有文件?
我正在尝试更改我的作业中的版权标题。我可以使用以下命令列出所有带有版权标题的文件:关于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/'
是否在文件名或文件正文中更改文本? – ghoti
@ghoti,使用xargs表示通过“grep -l”找到的文件名将作为参数传递给sed。 –
+1。如果使用'-l',则不需要'-n' –