我一直在寻找这个问题的答案:如何使用 find append text to all hits?我最初的方法类似于,
sudo find / -type f -name "*.py" -exec cat somecode.txt >> {} \;
尽管所做的只是创建一个文件名,其中{}
填充了 somecode.txt 的内容,每次点击重复一个。然后我尝试运行该命令,
sudo find / -type f -name "*.py" -exec echo somecode.txt >> {} \;
尽管这具有相同的效果,只是这次{}
填充了somecode.txt
重复一次或每次命中的字符串。有没有其他方法可以做到这一点,或者我只是缺少一些基本的东西?
编辑:
我的预期目标是将 的内容somecode.txt
附加到系统中的每个 python 文件。
-exec
每个参数只是一个外壳:
find . -type f -name "*.py" -exec sh -c 'cat somecode.txt >> "$1"' -- {} \;
Run Code Online (Sandbox Code Playgroud)
(在没有sudo
和在其他地方开始/
可能是一个好主意)。
如果您想提高效率,您可能想尝试以下方法:
find . -type f -name "*.py" -exec sh -c '< somecode.txt tee -a "$@"' -- {} +
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6001 次 |
最近记录: |