異なる列と異なる区切り文字を持つ2つのファイルがあります。fileA
ファイルの $1 がファイルの $4 と一致する行を印刷するだけです。 fileB
これは、両方のファイルが同じ列区切り文字を使用している場合にのみ機能します。
cat ./fileA | awk -F' ' 'FNR==NR {lines[$4]; next} $1 in lines {print $0}' fileB -
編集する ファイルA:
samir x
said y
sabri z
samir y
ファイルB:
43,54,65,said
-F
ファイルに別の区切り文字を表示するにはどうすればよいですかfileB
?fileA
デフォルトのスペース区切り文字を使用します。
私は試した:
cat ./fileA | awk -F' ' 'FNR==NR {lines[$4]; next} $1 in lines {print $0}' FS=',' fileB -
しかし、うまくいきません。どんなアイデアがありますか?
ベストアンサー1
努力する
awk -F, 'FNR==NR { lines[$4] ; next ; } $1 in lines { print }' f2 FS=' ' f1
これは作る
said y