Ok, da dies eine komplexe Frage ist, werde ich sie klar erklären. Ich habe einen Dateiinhalt wie folgt angezeigt:
$ 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}
Die Ausgabe, die ich will
-Cool MNB + POP ;
-Cool MNB + POP ;
-Cool MNB + POP ;
-Cool TBMKF + POP ;
-Cool YUKER + POP ;
-Cool EFEFVD +POP ;
Zuerst versuche ich, die letzte Spalte aus dem File1
herauszunehmen und durch auszudrucken
sed 's/[{}//g' File1 > File3
Danach kopiere ich den gesamten Inhalt File1
in einen neuenFile4
cp File1 File4
Danach ersetze ich die Daten innerhalb der File4
durch die File3
Daten (bedeutet die Daten ohne Klammer eine " File1
letzte Spalte diese")
awk 'FNR==NR{a[NR]=$1;next}{$5=a[FNR]}1' File3 File4 >>File5
Die Ausgabe sollte so sein
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
Schließlich versuche ich es
awk -F“ " '{print - $2,$5 +,$4 ";"}‘ File5
Aber das Ergebnis kam nicht so heraus, wie ich es wollte, nur die ähnlichen Daten MNB sind alle unten aufgeführt, andere wurden nicht angezeigt (Datei eine letzte Spalte Daten),
awk --version
, was ist das Ergebnis?