我只想重點線BASH從其減去文件從另一個一個。減去CSV-文件,但如果該行是相同的。而不是比較我想要查看的行是否在一個字段中匹配的行。由線
例如第一個文件
EMAIL;NAME;SALUTATION;ID
[email protected];Foo;Mr;1
[email protected];Bar;Ms;2
第二個文件
EMAIL;NAME
[email protected];Foo
的resultfile應該
EMAIL;NAME;SALUTATION;ID
[email protected];Bar;Ms;2
我想你知道我在說什麼;)
怎麼可能在慶典?我很容易用Java來做這件事,但我真的很想學習如何在bash中做到這一點。我也可以通過比較使用行排序
#!/bin/bash
echo "Substracting Files..."
sort "/tmp/list1.csv" "/tmp/list2.csv" "/tmp/list2.csv" | uniq -u >> /tmp/subList.csv
echo "Files successfully substracted."
不過。減去行arn't相同元組。所以我必須比較線與鍵。
有什麼建議嗎?非常感謝..尼爾斯
不錯,優雅的使用unix-foo,如果使用cut/grep將不需要使用awk(儘管awk可能會更快,但沒有硬性規則,結果讓我感到驚訝) – Marcin
在控制檯中正常工作,但使用它在shell腳本中導致:/tmp/substract.sh:4:語法錯誤:「(」unexpected – Nils
@Nils:你使用'#!/ bin/bash'還是'#!/ bin/sh'?後者因爲*進程替換*是一個'bash'功能。 – bmk