Eingang Namen RicoMulitiple Zeilen einzelne Zeile
Adresse Australien
Alter 24
Namen Rica
Adresse Asien
Alter 25
Output Namen Rico, Adresse Australien, Alter 24
Namen Rica, Adresse Asien, Alter 25
Können wir das in Unix tun?
Eingang Namen RicoMulitiple Zeilen einzelne Zeile
Adresse Australien
Alter 24
Namen Rica
Adresse Asien
Alter 25
Output Namen Rico, Adresse Australien, Alter 24
Namen Rica, Adresse Asien, Alter 25
Können wir das in Unix tun?
ich die Lösung gefunden:
awk ‚BEGIN {RS = ""; FS = "\ n"}; {Print $ 1, $ 2}‘Datei
Hier wird den Eingabedatensatz-Separator als eine Leerzeile oder aufeinanderfolgende Leerzeilen für diese Angelegenheit, da der nächste Datensatz neben nicht-leere Zeile sein wird. Dadurch wird das Feldtrennzeichen auch als nextline festgelegt.
Sie können mit awk mehrere Zeilen in eine Zeile umwandeln.
#!/usr/bin/awk
# table.awk
{
if (NR == 1) {
printf("%s",$0);
} else {
printf(",%s",$0);
}
}
$ cat input.csv
Name Rico
Address Australia
Age 24
Name Rica
Address Asia
Age 25
$ awk -f table.awk input.csv
Name Rico,Address Australia,Age 24,Name Rica,Address Asia,Age 25
Es gibt effizientere Antworten in Stackoverflow, wie folgt vor:
hier ist eine weitere Alternative ...
paste -sd, inputfile
mit sed:
sed ':a;N;$!ba;s/\n/, /g' filename
Ja, das wäre trivial. Sehen Sie [fragen], wenn Sie eine Nachfolgefrage haben. –
Willkommen bei StackOverflow. Bitte nehmen Sie die [Tour], lernen, gute Fragen zu stellen stackoverflow.com/help/how-to-ask, machen eine [MCVE]. Ein MCVE sollte eine Vielzahl von Beispieleingaben (unter Veranschaulichung aller Aspekte) und die gewünschte Ausgabe enthalten. Sie sollten auch die Mühe zeigen, die Sie selbst investiert haben. Sie haben vielleicht bemerkt, dass StackOverflow-Lesegeräte nicht sehr zufrieden mit der Impression sind, die als kostenloser Codierungsdienst verwendet werden kann. – Yunnosch
Möchten Sie alle Zeilen in einem zusammenfassen? Ihr Sample ein- und ausgesucht scheint dies anzuzeigen. Sie möchten nicht nur Sätze von Zeilen "Name .../Adresse .../Alter ..." erstellen? – Yunnosch