在一个目录中将文件使用Bash命令连接成一个文件,在内容前插入文件名。

3

我有一个txt文件目录需要合并到另一个文件中。但是在每个文件的内容之前,我需要添加一个标题。具体来说,我希望做类似于这样的事情:

---------------- <FILENAME> ----------------
content
---------------- <FILENAME2> ---------------
content

实际上,我不需要文件名前后的所有“------------”,但如果能有这样就很好了。
感谢您的时间 ;)
1个回答

6

for f in *.txt; do echo "----------------<$f>----------------"; cat "$f"; done >> OUTPUT_FILE

可以翻译为:使用此命令可以将当前目录下所有的txt文件的内容输出到一个名为OUTPUT_FILE的文件中,每个文件的内容会以文件名为标题分隔开。

您还可以使用> OUTPUT_FILE来清空现有文件。 - Shawn Chin
1
可以总体简化为:for f in *.txt; do echo "----------------<$f>----------------"; cat "$f"; done > OUTPUT_FILE :) - user332325

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接