Einführung von
awk in Zeilenweise Daten
verarbeitenvim, nano in Editoren
in der ShellVideo: Bashino - #09 Spalten verschieben und filtern mit awk und tr [6 min]
Video: Bashinho - #08 Texteditoren in der Bash [9 min - letzten 2 irrelevant]
awk = “Programmiersprache” zur
(zeilenweisen) Datenverarbeitung
echo "A B" | awk '{print $2}') oder in Datei definiert
(awk -f programFile)
' quoten, damit $ Variablen nicht von
BASH gesetzt werden-F” = field separator zur spaltenweisen Datentrennung
pro Zeile (setzt “FS” und “OFS” Variable,
siehe unten)$SPALTENNUMMER ansprechbar;
$0 = ganze Zeile=” angelegt
echo 4 | awk '{i=$1+2; print i}'echo A B | awk '{$2="D"; print $0}'$0 = Zusammensetzung der aktuellen
Spaltenelemente/Felder mit aktuellem (output) field separator
(OFS) (kann auch geändert werden)NF = Anzahl Spalten ($NF = letzte Spalte)
(number of fields)
echo A B | awk '{print $NF}')echo A B | awk '{print NF}')NR = aktuelle Zeilennummer (number of rows), z.B.
zeilennumerierte Ausgabe
(ls -l | awk '{print "Zeile "NR" : "$0}')FS = verwendetes Spaltentrennzeichen (field separator)
-F” setzen (setzt auch OFS)echo "A;B" | awk -F ";" '{print $1}'echo "A;B" | awk 'BEGIN{FS=";"}{print $1}'OFS = aktuelles Spaltentrennzeichen der Ausgabe (output
field separator); muss (für alle Zeilen) im “BEGIN”-block
(siehe unten) gesetzt werden
echo "A B" | awk 'BEGIN{OFS=":"}{print $1,"lala"}';” = Befehlstrennzeichen (Beispiel weiter unten)print = Ausgabe mit Zeilenumbruch
echo "Hans Peter" | awk '{print "Name="$2"\nVorname="$1}'" quotenprintf = Ausgabe OHNE Zeilenumbruch
echo "17" | awk '{printf "input="$0; printf "next"; print "linebreak"}'if( NR%2 == 0 ) {print "gerade"} else {print $0} =
if conditionalfor( i=0; i<5; i++ ) { printf " i="i; } =
for loopingBEGIN{}” und
“END{}”-Block (jeweils optional),
echo "Doe,John" | awk -F "," 'BEGIN{print "Vor Nach"}{print $2" "$1}END{print "#Ende"}'Folgende kompakte Online awk Tutorials sind ein guter Einstieg
Warum bzw. wann muss man sich mit Kommandozeileneditoren herumschlagen?
vi oder vim = Kommandozeileneditor
:”-Präfix leitet Kommandos ein, z.B.
:w” = speichert die aktuelle Datei (write):w myFile.txt” = speichert den Inhalt in Datei
“myFile.txt”:w!” = überschreiben der Datei auch wenn geschützt
etc.:q” = beendet vim (quit); nicht
möglich bei ungespeicherten Änderungen:q!” = wirklich beenden und ungespeicherte Änderungen
gehen verloren:wq” = speichern und beenden (in einem Rutsch)d”+ENTER = löscht aktuelle Zeiled2”+ENTER = löscht aktuelle plus 2 Folgezeilen (also
3!)Wer sich an vim versuchen will, sollte das schon direkt in Linux
vorhandene “vim tutorial” bearbeiten, in dem man einfach
vimtutor in der Konsole eingibt/aufruft!
nano ist ein alternativer Editor zu vim,
welcher einen anderen Befehlssatz bzw. eine andere Nutzerführung
verwendet.
Um mit nano vertraut zu werden, sollte man einen ersten
Blick auf dessen eingebaute Hilfe werfen. Dazu
nano aufrufennano verlassenDownload: PDF Version dieses Tutorials. Erstellt am 11.07.2025.