这就是我打算做的
for f in find . -name "*.js"; do
echo "\n" >> $f
done
我想要一个单行解决方案,但以下内容会将文件名列表作为参数而不是输出文件。
find . -name "*.js" | xargs -n1 echo "\n"
无论如何可以实现类似以下的目标吗?
find . -name "*.js" | appendToAll -n1 echo "\n"
谢谢
答案1
您没有提出您的问题,但我的解释是您希望在所有以.js
.如果是这样,应该这样做:
$ find . -type f -name '*.js' -exec sh -c "echo >> '{}'" \;
这大致相当于您的xargs
解决方案,但这支持文件或路径名中可能存在空格。
如果你真的想要添加两个换行符,那么:
$ find . -type f -name '*.js' -exec sh -c "printf '\n\n' >> '{}'" \;