Einzeiler
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.