Ok, poiché questa è una domanda complessa, la spiegherò chiaramente. Ho un contenuto di file mostrato come di seguito:
$ Cat File1
ABC Cool Lol POP {MNB}
ABC Cool Lol POP {MNB}
ABC Cool Lol POP {MNB}
ABC Cool Lol POP {TBMKF}
ABC Cool Lol POP {YUKER}
ABC Cool Lol POP {EFEFVD}
L'output che voglio
-Cool MNB + POP ;
-Cool MNB + POP ;
-Cool MNB + POP ;
-Cool TBMKF + POP ;
-Cool YUKER + POP ;
-Cool EFEFVD +POP ;
In primo luogo provo a estrarre l'ultima colonna dal File1
e stamparlo da
sed 's/[{}//g' File1 > File3
Dopo di che copio l'intero contenuto di File1
un nuovoFile4
cp File1 File4
Dopodiché sostituisco i dati all'interno di File4
con i File3
dati (significa che i dati senza parentesi " File1
un'ultima colonna quella")
awk 'FNR==NR{a[NR]=$1;next}{$5=a[FNR]}1' File3 File4 >>File5
L'output dovrebbe essere così
ABC Cool Lol POP MNB
ABC Cool Lol POP MNB
ABC Cool Lol POP MNB
ABC Cool Lol POP TBMKF
ABC Cool Lol POP YUKER
ABC Cool Lol POP EFEFVD
Alla fine ci provo
awk -F“ " '{print - $2,$5 +,$4 ";"}‘ File5
Ma il risultato non è emerso come mostrato come voglio, solo i dati simili MNB sono tutti elencati in basso, altri non sono stati mostrati (File dati dell'ultima colonna),
awk --version
, qual è il risultato?