title: “Text Processing Utilities”
date: 2015-03-23T15:12:24
slug: text-processing-utilities
Display file content
cat /var/log/messages
Display file content with Line Number (skip empty lines)
cat -b /var/log/messages or
nl -bt /var/log/messages
Display file content with Line Number (number lines as well)
cat -n /var/log/messages or
nl -ba /var/log/messages
List 20 first lines of /var/log/messages
head -n 20 /var/log/messages
or
head -20 /var/log/messages
List 20 last lines of /etc/aliases
tail -20 /etc/aliases
List text starting at line 25 in /var/log/messages
tail +25 /etc/log/messages
Count number of lines
cat /var/log/messages | wc -l
Count number of words
cat /var/log/messages | wc -w
Count number of character
cat /var/log/messages | wc -c
Split a file every 5 lines into new files
split -l 5 /var/log/messages
Split a file into 20MB files
split -b 20m bigarchive.tar.gz
Standardprefix= xaa, xab, xac,…..
eigenen Prefix festlegen:
split -b 20m bigarchive.tar.gz mypref
myprefaa, myprefab, myprefac
Erstes Feld vom Eingabestring anzeigen, Trenner is :
cut -d':' -f1
Erstes und drittes Feld vom Eingabestring anzeigen, Trenner is :
cut -d':' -f1,3
Ein Feldtrenner für die Ausgabe kann auch fewstgelegt werden:
--output-delimiter=" "
Zeichen 2 bis 10 jeder Zeile einer Datei ausgeben:
cut -c2-10 /var/log/messages
Und zusätzlich von Zeichen 12 bis Zeilenende:
cut -c2-10,12- /var/log/messages
Ein Textfile formatieren (zb. Block mit 20 Zeichen pro Zeile)
cat /var/log/messages | fmt -w 20
Zeichen in einem Textfile ersetzen (k->K, e->E)
cat /var/log/messages | tr 'ke' 'KE'
Strings in einem Textfile ersetzen (kernel -> modul)
cat /var/log/messages | sed 's/kernel/modul/g'
/g = global
/I = Gross- Kleinschreibung ignorieren
Dateien in anderen Formaten anzeigen (octal, ASCII,…)
cat /var/log/messages | od
Parameter für od
-t a, select named characters, ignoring high-order bit
-t o1, select octal bytes
-t c, select ASCII characters or backslash escapes
Dateien zum drucken konvertieren:
cat /var/log/messages | pr
Tabs im Textfile nach Leerzeichen konvertieren
cat /var/log/messages | expand
Textdatei Hexadecimal ausgeben
cat /var/log/messages | hexdump
Zwei Dateien (mit Shlüsselfeldern) zeilenweise zusammenfügen
join a.txt a.txt
Zwei Dateien zeilenweise zusammenfügen (wie Vergleichfenster)
paste a.txt a.txt
Datei reverse anzeigen (cat andersrum, z.B erste Einträge im Logfile werden als letztes)
tac /var/log/messages
Sort (textstream sortieren)
du | sort
Numerisch sortieren: -n
Reverse Ausgabe -r
Nach Monat sortieren -M
