写入文件列表(Xargs 但用于输出)

写入文件列表(Xargs 但用于输出)

这就是我打算做的

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' >> '{}'" \;

相关内容