awk -F: "{ print \$1 }" passwd

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von art, 14.07.2007.

  1. art

    art Jungspund

    Dabei seit:
    22.06.2007
    Beiträge:
    14
    Zustimmungen:
    0
    awk -F: "{ print $1 }" passwd

    Die Zeile soll folgendes bewirken :
    Aus passwd sollen aus jeder Zeile jeweils die Zeichenketten bis zum ersten ":"
    ausgegeben werden. Aber FieldSeparator wird irgendwie ignoriert, also passwd
    wird so ausgegeben wie es ist.

    Wenn ich den Code ändere zu:
    awk -F: "{ print \$1 }" passwd
    so macht AWK alles richtig. Ich verstehe die Funktion von "\" nicht ganz..?(
    kann mir jemand helfen?
    danke!!
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 b3ll3roph0n, 14.07.2007
    b3ll3roph0n

    b3ll3roph0n Tripel-As

    Dabei seit:
    13.07.2007
    Beiträge:
    160
    Zustimmungen:
    0
    Code:
    awk -F":" '{ print $1 }' /etc/passwd
     
  4. smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    b3ll3roph0n: nein, die Quote sind optional beim Fieldseperator.
    Code:
    awk -F: '{print $1}' /etc/passwd
    Du musst ' ' (single quotes) nehmen, damit die $SHELL nicht das $ auswertet.
     
  5. #4 b3ll3roph0n, 14.07.2007
    b3ll3roph0n

    b3ll3roph0n Tripel-As

    Dabei seit:
    13.07.2007
    Beiträge:
    160
    Zustimmungen:
    0
    Es schadet aber auch nicht sich gleich ans Quoten gewöhnt ... spätestens beim Umgang mit Shell-Veriablen macht sich das bezahlt. ;)

    Pssst.
    Hab ich doch auch verwendet. ;)


    Ergänzung:
    Mit dem "\" (Backslash) wird das folgende Zeichen maskiert.
    D.h. $1 wird in diesem Fall von der Shell nicht als Variable ausgewertet.

    Siehe: man bash
    Stichwort: escape character
     
  6. smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    Jojo, bei Shellvariablen und anderem Fubar, aber generell sind das mehr Tastenanschläge (=> also uncool). und die Seperator kann man halt auch ohne Quotes easy angeben. Wenn nicht nimmst du gleich nen BEGIN{} block und außenrum single quotes dann bist du _ganz_ sicher.

    P.S.: Mit \ (Escape character) kannst du Metazeichen vor der Interpolation der $SHELL schützen.
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. #6 Wolfgang, 14.07.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    hallo
    cut ist ein wenig flinker. ;)
    Code:
    $ cut -d: -f1 /etc/passwd
    Generell ist das Quoting möglicherweise für einige uncooler aber sicherer.
    Das Escapen macht die Sache einigermaßen unübersichtlich.
    Also wo es vermeidbar ist, sollte es vermieden werden.
     
  9. smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    Code:
    sed 's/^\([^:]*\):.*/\1/' /etc/passwd
     
Thema: awk -F: "{ print \$1 }" passwd
Besucher kamen mit folgenden Suchen
  1. print $1

Die Seite wird geladen...

awk -F: "{ print \$1 }" passwd - Ähnliche Themen

  1. Lage der Printserver

    Lage der Printserver: Hallo, ich habe eine Frage bzgl. der Positionierung von Printservern in einem Netz über versch. Standorte. Als Beispiel: Haupstandort A: -...
  2. Bericht vom KDE Plasma-Sprint

    Bericht vom KDE Plasma-Sprint: Die Plasma-Entwickler wollen die Plasma-Oberfläche um weitere Funktionen erweitern, beispielsweise zur Energieverwaltung. Die Entwicklung von...
  3. Printserver auf Samba Server installieren

    Printserver auf Samba Server installieren: Hallo zusammen, ich möchte auf einen Samba-Server einen Printserver installieren. Auf diesem sollen die Treiber hinterlegt sein und der...
  4. Sprints für KDE-Frameworks und Systemd

    Sprints für KDE-Frameworks und Systemd: In der vergangenen Woche trafen sich rund zehn Entwickler der KDE-Framworks zu einem Arbeitstreffen in den Büros von Blue Systems in Barcelona. In...
  5. KPrinter reanimiert

    KPrinter reanimiert: Mit einer Portierung der Anwendung Kprinter von KDE 3 auf die aktuelle Version der KDE-Desktopumgebung will ein Projekt der credativ GmbH das...