Ho due file dove voglio per eseguire l'operazione union sulla base di 1 ° colonna:Imbottitura Campo vuoto in Unix operazione di join
file1.txt
foo 1
bar 2
qux 3
file2.txt
foo x
qux y
boo z
Il risultato che spero di ottenere è il seguente:
foo 1 x
bar 2 -
qux 3 y
boo - z
dove i campi vuoti della colonna 1 sono riempiti con con "-".
Ma perché questo comando di join non funziona come mi aspettavo?
$ join -a1 -a2 -e"-" file1.txt file2.txt
Qual è il modo giusto per farlo?
@alex: grazie tanto. Non capisco l'opzione "-o '1.1,2.1,1.2,2.2'". Dove posso trovare informazioni a riguardo? Anche se non ti dispiace l'awk per favore? – neversaint
Ho modificato la risposta per spiegare -o, ma guardiamo a 'man awk': come ho fatto io, per verificare la mia spiegazione, mi è stato ricordato il valore 0 per il numero del campo, che ho usato ora nel esempio modificato e rende inutile la post-elaborazione. Ma ricordati di ordinare i tuoi file in anticipo! -) –
@Alex, grazie mille. – neversaint