ファイルA:
Castro 2
Manuel 5
Daniela 8
...
ファイルB:
Tom//UK No
Mark//UK No
Castro//Chile Yes
...
Manuel//Spain No
出力:
Castro 2 Yes
Manuel 5 No
...
ファイルAの各名前を列挙し、ファイルBから検索し、2番目のフィールドをファイルAのフィールド3に追加します。
私がしようとしているもの:
cat File_A.txt | awk -F '\t' '{ print $1 }; $3=`grep -i $2 File_B.txt | head -1 | cut -f2`'
答え1
Awk
解決策:
awk 'NR == FNR{ names[$1] = $2; next }
{ name = substr($1, 1, index($1, "/") - 1) }
name in names { print name, names[name], $NF }' file1 file2
出力:
Castro 2 Yes
Manuel 5 No
答え2
別のawk
解決策:
awk -F'//| ' 'NR==FNR{a[$1]=$3;next}NR>FNR{print $0,a[$1]}' fileB fileA
fileBにfileAに存在する名前がない場合、この行は印刷されます。