我正在使用
find . -type f \( -name "*.js" ! -name "*-min*" \) -exec cat {} \; > all.js
Run Code Online (Sandbox Code Playgroud)
将文件合并在一起。不幸的是,我没有在每个文件后换行,但它结束了,新文件在同一行开始。
如何在每个文件之间添加换行符?
如果你想在每个文件后系统地添加一个换行符:
find . -type f \( -name "*.js" ! -name "*-min*" \) \
-exec cat {} \; -exec echo \; > all.js
Run Code Online (Sandbox Code Playgroud)
或者
find . -type f \( -name "*.js" ! -name "*-min*" \) \
-exec sh -c 'for x; do cat "$x"; echo; done' _ {} + >all.js
Run Code Online (Sandbox Code Playgroud)
如果要在每个不以换行符结尾的文件末尾添加换行符:
find . -type f \( -name "*.js" ! -name "*-min*" \) \
-exec awk '1' {} + > all.js
Run Code Online (Sandbox Code Playgroud)