同じ行と列の数、同じレコードの順序を持つ2つのファイルを比較したいと思います。列の値に違いがある場合は、これを強調したいと思います。
file A
:
1,kolkata,19,ab
2,delhi,89,cd
3,bangalore,56,ef
file B
:
1,kolkata,21,ab
2,mumbai,89,gh
3,bangalore,11,kl
列を1
主キーとみなすと、他の列と違いがあります。私はこれらの違いを強調したいと思います。
出力形式は次のとおりです(不明)。
record_number, columns_with_diff
1 3
2 2,4
3 3,4
私の問題をdiff
解決できますか?comm
それでは、正確なコマンドは何ですか?
ベストアンサー1
それはすべてです。各行の末尾に追加のカンマがある場合は、いくつかのスタイルの問題があります。
awk '
BEGIN{ FS=","; ORS="" }
{
# read line from secondary file
getline aux < "file2"
split(aux,f2,",")
# print current line number
print NR" "
# process each field in current line
for(i=1; i<=NF; i++) {
if ($i!=f2[i]) {
print i","
}
}
print "\n"
}
' file1
出力:
1 3,
2 2,4,
3 3,4,