PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bash: "ps ax" Ausgabe formatieren



Trillian
08-06-2001, 15:05
Hi,
ich möchte ein Skript schreiben, dass den gerade gespielten Song von GQmpeg in eine Datei schreibt. GQmpeg ist ja ein Frontend zu mpg123.
Also bringt mir ein
"ps ax|grep mpg123|head -n 1" Schonmal den Prozess, auch mit dem Filenamen.

927 ? S 0:00 mpg123 -v -k 0 /home/$USERr/mp3/Metallica - Black Album Metallica - Don't Tread On Me.mp3

Bisher habe ich wild mit awk rumgespielt, komme damit aber nicht weiter. Am besten wäre es wohl als nächstes, wenn ich mir alle Zeichen anzeigen lassen könnte, die hinter dem ersten "/" stehen, bis zum Ende eben.
Um das mal klarer zu machen, was ich will, das würde dabei rauskommen:

/home/$USER/mp3/Metallica - Black Album Metallica - Don't Tread On Me.mp3

Noch den Slash mittels "sed" überschrieben, und dann würde ich gerne das Skript prüfen lassen, bis zu welchem Zeichen der Verzeichnisname geht. Das sollte mit awk hinzukriegen sein, nur wie kann ich überprüfen, ob $blubb ein Verzeichnis ist?

Wenn ich das habe, möchte ich den verzeichnis-Teil wegschnibbeln, und fertig bin ich. Naja, fast :D
Dann via id3-Tag-Programm den Title-Tag dazu auslesen und ausgeben :)

Kann mir jemand dazu einen Tip geben? Ich glaube, ich bräuchte eine Art "grep" für einzelne Zeichen.

Wenn das überhaupt nicht so klappt, würde ich mir auch über ein Perl-Skript freuen, was das erledigt. Aber lieber ein Tip, damit ich noch selber basteln kann :))

Danke schonmal,
sed

jgbauman
08-06-2001, 17:13
Wenn ich das richtig verstanden habe hilft Dir:

basename "`ps ax|grep mpg123|grep -v grep|head -n 1| cut -d / -f 2- `"
ergaebe dann:
Metallica - Black Album Metallica - Don't Tread On Me.mp3

mightymike99
09-06-2001, 14:24
Hi,
den ps kann man sich glaub' ich mit Optionen auch Feld für Feld zusammenbasteln.

Gruß
Tobias

Trillian
09-06-2001, 23:54
Super, das hilft mir schonmal weiter! *freu*
*manpagezucutundbasenameles* :)

Danke!