Gawk 部分一致

Gawk 部分一致

私のgawkスクリプトはすべての潜在的な結果と一致せず、それらのうちの1つだけが一致します。

はい -

スクリプト:

gawk -F: "FNR==NR{a[$2]=$1;next} $1 in a{print a[$1] FS $2}" username.email.txt email.phone.txt > username.phone.txt 

email.phone.txt - 以下を含みます。

 [email protected]:phoneexample

ユーザー名.email.txt - 含める:

 user1:[email protected]
 user131:[email protected]

期待される出力 - 次のようにする必要があります。

 user1:phoneexample
 user131:phoneexample

代わりに、「を含む行の1つだけが一致します。[Eメール保護]

出力 -

 user131:[email protected]

ベストアンサー1

ファイルとフィールドを逆にすると、より良いことがあります。

awk -F: 'FNR==NR{a[$1]=$2;next} $2 in a{print $1 FS a[$2]}' email.phone.txt username.email.txt
user1:phoneexample
user131:phoneexample

おすすめ記事