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调用完成整个事情.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...