根据对列表合并文件

时间:2015-06-02 11:22:45

标签: linux

我有一个目录中的文件,以及一对文件名列表,例如

list:
FileA File1
FileB File2
FileC File3

我想将每对文件合并到一个文件中。我了解到可以使用此命令基于列表合并目录中的所有文件

xargs < list.text cat > merged_file.txt

但我不知道如何在我的情况下逐行(即配对文件)这样做。

生成的文件应该称为FileA_File1_merged.txt

1 个答案:

答案 0 :(得分:1)

逐行阅读list文件,将cat个文件读取到合并文件:

while read line; do
        cat $line > "$line.merged"
done < list

注意结果文件名将包含空格和.merged“扩展名”。要使用-替换空格,您可以使用bash模式替换:... >"${line/ /-}.merged"