Ok, ponieważ jest to złożone pytanie, wyjaśnię je jasno. Mam zawartość pliku pokazaną jak poniżej:
$ 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}
Dane wyjściowe, które chcę
-Cool MNB + POP ;
-Cool MNB + POP ;
-Cool MNB + POP ;
-Cool TBMKF + POP ;
-Cool YUKER + POP ;
-Cool EFEFVD +POP ;
Najpierw próbuję wyciągnąć ostatnią kolumnę z File1
i wydrukować ją
sed 's/[{}//g' File1 > File3
Następnie kopiuję całą zawartość File1
do nowejFile4
cp File1 File4
Potem zastąpić dane wewnątrz File4
z File3
danych (czyli danych bez jeden wspornik „ File1
Ostatnia kolumna jeden”),
awk 'FNR==NR{a[NR]=$1;next}{$5=a[FNR]}1' File3 File4 >>File5
Wynik powinien być taki
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
Wreszcie próbuję
awk -F“ " '{print - $2,$5 +,$4 ";"}‘ File5
Ale wynik nie wyszedł tak, jak chcę, tylko podobne dane MNB są wymienione na liście, inne się nie pokazały (Plik danych z ostatniej kolumny),
awk --version
, jaki jest wynik?