0
我使用了join命令來合併腳本中的多個文件。在循環中加入命令
while read line; do
join file1 "$line" > output
cat output > file1
done < list
的事情是,隨着循環的進行,越來越多的數據從輸出文件,因爲不是所有的項目在所有數據文件匹配刪除。我如何保存不匹配的數據並將其包含在輸出文件中?
我使用了join命令來合併腳本中的多個文件。在循環中加入命令
while read line; do
join file1 "$line" > output
cat output > file1
done < list
的事情是,隨着循環的進行,越來越多的數據從輸出文件,因爲不是所有的項目在所有數據文件匹配刪除。我如何保存不匹配的數據並將其包含在輸出文件中?
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
謝謝。我想問後續問題。一些列沒有任何數據。我曾嘗試使用-e 0來填充它們,但不知何故它不起作用。這似乎是什麼問題? –
@DalePin:你應該爲此提出一個新問題,展示一個用於演示問題的輸入示例。對這個問題做一個簡單的編輯就太不同了,如果沒有示例數據,我無法猜測會發生什麼 –