Dienstag, 3. Januar 2012
Memory Verbrauch addiert nach Prozessname
Mithilfe folgender Codewurst kann der Memoryverbrauch nach Prozessnamen addiert aufgelistet werden:
Kleine Variante - wenn wir die Hauptverbraucher ohnehin schon kennen, konzentrieren wir uns auf die:
ps -e -o comm,rss --no-heading|awk '{arr[$1]+=$2} END {for (i in arr) {printf("%15s ", i); printf("%6s \n", arr[i]);}}'|grep -v ' 0'|sort -nr -k2
Kleine Variante - wenn wir die Hauptverbraucher ohnehin schon kennen, konzentrieren wir uns auf die:
ps -C amavisd-new,clamd,apache2,mysqld -o comm,rss --no-heading|awk '{arr[$1]+=$2} END {for (i in arr) {printf("%15s ", i); printf("%6s \n", arr[i]);}}'|grep -v ' 0'|sort -nr -k2
"Memory Verbrauch addiert nach Prozessname" vollständig lesen
Montag, 2. Januar 2012
Dateien mit Leerzeichen im Namen verarbeiten
Konkretes Beispiel: es soll auf die Schnelle ein Stapel wav Dateien mit ffmpeg in mp3 konvertiert werden, die Dateinamen haben aber leider ein Leerzeichen (Track 1.wav usw.).
Die Lösung: die Umgebungsvariable IFS (Internal Field Separator) umschreiben.
Hinweis: der Ordner "mp3" muss natürlich vorher von Hand angelegt werden.
Folgendes scheitert am Leerzeichen:
Wenn ich vorher aber die IFS Variable auf Zeilenumbruch setze, klappt es:
Danach sollte IFS wieder auf den ursprünglichen Wert, also Leerzeichen, gesetzt werden:
Die Lösung: die Umgebungsvariable IFS (Internal Field Separator) umschreiben.
Hinweis: der Ordner "mp3" muss natürlich vorher von Hand angelegt werden.
Folgendes scheitert am Leerzeichen:
for f in *.wav; do ffmpeg -i "$f" "../mp3/${f}.mp3"; done;
Wenn ich vorher aber die IFS Variable auf Zeilenumbruch setze, klappt es:
IFS='
'
for f in *.wav; do ffmpeg -i "$f" "../mp3/${f}.mp3"; done;
'
for f in *.wav; do ffmpeg -i "$f" "../mp3/${f}.mp3"; done;
Danach sollte IFS wieder auf den ursprünglichen Wert, also Leerzeichen, gesetzt werden:
IFS=' '
(Seite 1 von 1, insgesamt 2 Einträge)