Einfacher als gedacht
Boa, was hab ich mir den Kopf zerbrochen, wie ich mit awk eine Datei wo in jeder Zeile ein Hostname steht so umwandle, das ich eine kommaseparierte Liste erhalte. Der Verweiflung nahe fiel mir dann tr ein. Nach kurzen Studium der Man-Page kam das folgendes zu Tage:
tr "\\n" "," < FOO > BAR
mit awk: cat file | awk ‘{printf $1″,”}’
War so klar ;) Trotzdem vielen Dank, ich hatte mir nen Wolf gesucht wie man die Wiederholung macht.
Das cat beim awk ist überflüssig, da awk als letzten Parameter eine Datei erwartet, die dann zeilenweise bearbeitet wird:
awk ‘{print $1″,”}’ file
in perl:
perl -pi -e ’s/\n/,/g’ file
dann ist aber nach dem letzten hostnamen auch noch ein komma, das sieht doch doof aus
da würd ich doch lieber perl und ein knackiges join “,” verwenden. join ist da nämlich schlau genug.
sed -i ‘:a;N;$!ba;s/\n/,/g’ file
Ich werf mal ein gepflegtes:
awk ‘{ORS=”,”; print}’ file
in die Runde