カスタム列区切り文字を使用する他のファイルにSTDINを使用しますか?

カスタム列区切り文字を使用する他のファイルにSTDINを使用しますか?

異なる列と異なる区切り文字を持つ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ファイルに別の区切り文字を表示するにはどうすればよいですかfileBfileAデフォルトのスペース区切り文字を使用します。

私は試した:

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

おすすめ記事