前端之家收集整理的这篇文章主要介绍了
bash – 使用分隔符加入目录中的所有文件,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含数百个
文件的目录(每个
文件都有几个字符).我想将它们连接到一个带有分隔符“|”的
文件中.
我试过了
find . -type f | (while read line; do; cat $line; echo "|"; done;) > output.txt
但这创造了一个无限循环.
您可以使用-not -name output.txt从find的
输出中排除output.txt(或者正如您在下面的注释中指出的那样,只需将
输出文件放在目标目录之外).
例如:
find . -type f -not -name output.txt -exec cat {} \; -exec echo "|" \; > output.txt
我也冒昧地用几个-exec参数替换你的while / cat / echo,这样我们就可以使用一个find调用完成整个事情.