我有一个目录中的文件,以及一对文件名列表,例如
list:
FileA File1
FileB File2
FileC File3
我想将每对文件合并到一个文件中。我了解到可以使用此命令基于列表合并目录中的所有文件
xargs < list.text cat > merged_file.txt
但我不知道如何在我的情况下逐行(即配对文件)这样做。
生成的文件应该称为FileA_File1_merged.txt
答案 0 :(得分:1)
逐行阅读list
文件,将cat
个文件读取到合并文件:
while read line; do
cat $line > "$line.merged"
done < list
注意结果文件名将包含空格和.merged
“扩展名”。要使用-
替换空格,您可以使用bash模式替换:... >"${line/ /-}.merged"
。