gawkを使用してデータを相互参照するときに問題があります。
gawk -F: 'FNR==NR{a[$1]=$2;next} $2 in a{print $1 FS a[$2]}' email.phone.txt name.email.txt > name.phone.txt
電子メール。電話コンテンツの例:
[email protected]:012345
[email protected]:912345
name.email.txt 例:
Charles:[email protected]
Erica:[email protected]
期待される出力
Charles:012345
Charles:912345
Erica:012345
Erica:912345
ただし、その電子メールと最後に一致した電話だけが出力されるため、次のように出力されます。
Charles:912345
Erica:912345
そして、その電子メールに使用した最初の電話をオフにします。
ベストアンサー1
GNU awk(gawk
) - しかしいいえ一般 awk - サポート本物多次元配列の場合は、次のものを使用できます。
gawk -F: '
FNR==NR{a[$1][$2]=1;next}
$2 in a{for(i in a[$2]) print $1 FS i}
' email.phone.txt name.email.txt