Home > Linux > Einfacher als gedacht

Einfacher als gedacht

19. November 2008

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

, Artikel 364mal angeschaut

  1. Andreas
    19. November 2008, 21:08 | #1

    mit awk: cat file | awk ‘{printf $1″,”}’

  2. 19. November 2008, 21:18 | #2

    War so klar ;) Trotzdem vielen Dank, ich hatte mir nen Wolf gesucht wie man die Wiederholung macht.

  3. Jens
    19. November 2008, 21:47 | #3

    Das cat beim awk ist überflüssig, da awk als letzten Parameter eine Datei erwartet, die dann zeilenweise bearbeitet wird:

    awk ‘{print $1″,”}’ file

  4. 19. November 2008, 22:04 | #4

    in perl:

    perl -pi -e ’s/\n/,/g’ file

  5. ths
    20. November 2008, 09:45 | #5

    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.

  6. 20. November 2008, 12:29 | #6

    sed -i ‘:a;N;$!ba;s/\n/,/g’ file

  7. 24. November 2008, 12:54 | #7

    Ich werf mal ein gepflegtes:
    awk ‘{ORS=”,”; print}’ file
    in die Runde

  1. Bisher keine Trackbacks
Kommentare sind geschlossen