2016-09-30 137 views
0

我有很多文件夹和文件,这是结构我如何合并在其他文件夹中的所有文件合并成一个文件,并添加新行

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。 我该怎么做?

感谢

回答

1
cat filename1 filename2 > filename3.txt 
+0

我有很多文件,我不能做这样的。浪费时间 –

0

我猜你正在寻找类似的规定:

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