bash猫多个文件

我正在尝试cat三个文件,并在每个文件之后获取并插入一个换行符,我想要使用如下所示的内容:

 cat f1 f2 f3|tr "\EOF" "\n" 

没有成功。

什么是最简单的方法来实现呢?

     cat f1 <(echo) f2 <(echo) f3 <(echo) 

    要么

     perl -pe 'eof&&s/$/\n/' abc 

    只要你cat文件,他们之间将没有EOF,没有其他方式来找到边界,所以我建议像for file in f1 f2 f3; do cat $file; echo; done for file in f1 f2 f3; do cat $file; echo; done for file in f1 f2 f3; do cat $file; echo; done或者缩进,

     for file in f1 f2 f3; do cat $file; echo; done 

    EOF 不是一个字符,甚至不是CTRL-D – 这只是在交互式输入中显示EOF的常用终端方法。 所以你不能使用工具翻译字符以某种方式修改它。

    对于这个简单的例子, 最简单的方法就是不用担心试图在一个单一的cat 🙂

     cat f1; echo; cat f2; echo; cat f3 

    将做的伎俩就好了。 任何大量的文件可能都值得一个脚本,但我不明白这个小案件的必要性。

    如果您想要将所有这些流组合在一起进行进一步处理,只需在子外壳中运行它们即可:

     ( cat f1; echo; cat f2; echo; cat f3 ) | some_process 

    尝试这个:

     find f1 f2 f3 | xargs cat 

    我遇到了类似的问题,对我来说最合适的是我的情况是:

     grep "" file1 file2 file3 | awk -F ':' '{print $2}'