Merge two files using awk in linux

前端 未结 2 1407
不思量自难忘°
不思量自难忘° 2021-01-25 01:45

I have a 1.txt file:

betomak@msn.com||o||0174686211||o||7880291304ca0404f4dac3dc205f1adf||o||Mario||o||Mario||o||Kawati
zizipi@libero.it||o||174732943.0174732943         


        
2条回答
  •  青春惊慌失措
    2021-01-25 02:13

    You can use this awk to get your output:

    awk -F ':' 'NR==FNR{a[$1]=$2 FS $3; next} FNR==1{FS=OFS="||o||"; gsub(/[|]/, "\\\\&", FS)}
    $3 in a{$3=a[$3]; print}' file2 file1 > result.txt
    
    cat result.txt
    frankmel@hotmail.de||o||0174844404||o||demodemo:||o||Melanie||o||Melanie||o||Kiesel
    apoka-paris@hotmail.fr||o||0174847613||o||~~@!:/92\||o||Sihem||o||Sihem||o||Sousou
    sofianomovic@msn.fr||o||174902297.0174902297||o||134:@a1||o||Nabile||o||Nabile||o||Nassime
    

提交回复
热议问题