在循环中连接命令

时间:2016-07-21 08:06:12

标签: linux join

我使用join命令合并脚本中的多个文件。

while read line; do  
    join file1 "$line" > output  
    cat output > file1  
done < list

问题是,随着循环的进行,越来越多的数据从输出文件中删除,因为并非所有条目都匹配所有数据文件。如何保存不匹配的数据并将其包含在输出文件中?

1 个答案:

答案 0 :(得分:0)

man join是你的朋友!我建议选择-a

-a file_number
         In addition to the default output, produce a line for each
         unpairable line in file file_number.

所以你应该使用:

while read line; do
    join -a 1 file1 "$line" > output
    cat output > file1
    done < list