如何将其他文件夹中的所有文件合并到一个文件中并添加换行符

时间:2016-09-30 23:58:11

标签: linux merge terminal

我有很多文件夹和文件,这是我的结构

26-09-2016/CHANGELOG_20160926.TXT
26-09-2016/FILE_CHANGELOG_20160926.TXT
27-09-2016/CHANGELOG_20160927.TXT
27-09-2016/FILE_CHANGELOG_20160927.TXT

我需要这样输出。 所有名称为CHANGELOG_*.TXT的文件都将合并,并将单独的新行添加到一个文件中,如CHANGELOG_20160926-20160930.TXT,所有名称为FILE_CHANGELOG_*.TXT的文件将合并,并将单独的新行添加到一个文件中比如FILE_CHANGELOG_20160926-20160930.TXT。 我怎么能这样做?

由于

2 个答案:

答案 0 :(得分:1)

cat filename1 filename2 > filename3.txt

答案 1 :(得分:0)

我猜你正在寻找这些方面的东西:

for prefix in CHANGELOG FILE_CHANGELOG; do
    ( for file in */"$prefix"_*.TXT; do
          echo "${file##*/}"
          cat "$file"
      done
    ) > "$prefix.TXT"
done