
私の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