Einzeiler

Aus DebianforumWiki
Zur Navigation springen Zur Suche springen

Einzeiler

Immer wieder gibt es Fragen beim Erstellen von kleinen Scripten. Oft fehlt die richtige Idee, wie man eine bestimmte Aufgabe lösen kann. Hier soll eine Sammlung entstehen, in denen Lösungen für typische Aufgaben gezeigt werden.

Alias Definitionen

alias lh='ls -lhSr|grep -v ^d' # listet Dateien der Größe nach die Größten sind unten, aber nur auf GNU Systemen, wegen dem S bei ls

alias ll='ls -lF' # listet Dateien und markiert Directories

alias lsd='ls -l |grep ^d' # gibt nur die Directories aus

alias ltr='ls -ltrF' # listet Dateien, die neuesten sind unten

alias SC='ps -U root -u root u --sort -%cpu|head -15' # Top 15 CPU intensive Prozesse von root

alias SM='ps -eo pid,ppid,cmd,comm,%mem,%cpu --sort=-%mem | head -15' # Top 15 Memory intensive Prozesse

alias LSBIG='find / -type f -size +2G 2>/dev/null | xargs ls -lahS' # listet sortiert alle Dateien, die >2GB sind auf

alias LSBIG='echo "Dateien größer als 3GB"&&find / -type f -size +3G 2>/dev/null | grep -v /proc | xargs ls -lahS' # Luxus variante von obigen

rund um Linefeed

Eine Datei enthält in der ersten Zeile nichts außer ein Linefeed. BEISPIEL="
Bla
fasel
Dings
DUMS
" echo "$BEISPIEL"|sed 'N;s/\n//'
Das entscheidene ist der Befehl N. Der sorgt dafür, das die nächste Zeile mit in den Betrachtungsbuffer des nachfolgenden subsitute Statements einbezogen wird. Denn ein Linefeed ist der Zeilentrenner und hat als solche natürlich eine Sonderbedeutung für sed.