awk




BACK ..


arbeiten mit AWK ================ rechnen mit AWK --------------- auflisten aller CD-Images: ls -l *\.iso # -rw-r--r-- 1 root wheel 262635520 10 Mai 05:12 cdimage_1.iso # -rw-r--r-- 1 root wheel 733052928 10 Mai 05:18 cdimage_2.iso # -rw-r--r-- 1 root wheel 733052928 10 Mai 05:24 cdimage_3.iso # -rw-r--r-- 1 root wheel 733052928 10 Mai 05:30 cdimage_4.iso # -rw-r--r-- 1 root wheel 719486976 10 Mai 05:36 cdimage_5.iso # -rw-r--r-- 1 root wheel 369557504 10 Mai 05:40 cdimage_6.iso # -rw-r--r-- 1 root wheel 633339904 10 Mai 05:46 cdimage_7.iso zusammenrechnen der einzelnen Groessen zur Gesammtgroesse: ls -l *\.iso | awk '{a=a+$5} ; END {printf "Summe: " a "\n"}' # Summe: 4184178688 Groessenangabe steht in der 5. Spalte (der Ausgabe von "ls" ganz oben), darum steht in der ersten Klammer von AWK "$5". zweite Spalte AUSGEBEN (wenn die Spalten durch Leerzeichen getrennt sind): -------------------------------------------------------------------------- Es soll die zweite Spalte der [textdatei.txt] angezeigt werden: 1. Moeglichkeit: awk '{print $2}' textdatei.txt 2. Moeglichkeit: cat textdatei.txt | awk '{print $2}' Es soll die zweite und dritte Spalte der [textdatei.txt] angezeigt werden: 1. Moeglichkeit: awk '{print $2 " " $3}' textdatei.txt 2. Moeglichkeit: cat textdatei.txt | awk '{print $2 " " $3}' zweite Spalte AUSGEBEN (wenn das Trennzeichen definiert ist): ------------------------------------------------------------- Sie haben eine Excel-Tabelle in das *.cvs-Format exportiert [excel-tabelle.csv] mit ";" als Trennzeichen zwischen den Datenfeldern. Sie wollen sich die zweite Spalte der [excel-tabelle.csv] angezeigen lassen: cat textdatei.csv | awk -F ';' '{print $2}' awk '{FS=";" ; print $2}' textdatei.csv Es soll die zweite und dritte Spalte der [excel-tabelle.csv] angezeigt werden: 1. Moeglichkeit: cat textdatei.csv | awk -F';' '{print $2,$3}' awk -F';' '{print $2,$3}' textdatei.csv 2. Moeglichkeit: cat textdatei.csv | awk '{FS=";" ; print $2,$3}' awk '{FS=";" ; print $2,$3}' textdatei.csv