[Risolto] comando SED ed espressioni regolari

Nuovo di Arch Linux? Nessun problema, fai qui le tue domande
Rispondi
sbis
Novello Arciere
Messaggi: 36
Iscritto il: 10 dicembre 2008, 23:11

Messaggio da sbis » 26 agosto 2011, 1:55

Chiedo a tutti un aiuto con sed e le espressioni regolari, poiché non ci capisco molto.
Mi serve per uno script che mi dia il nome delle canzoni in onda su una radio on-line
per il fetching del testo musicale da visualizzare poi sul desktop con conky.

Lo script per estirpare il nome della canzone in onda è questo:

Codice: Seleziona tutto

#!/usr/bin/env bash
#
# usage: media-controller <command>

if [ ! $# -eq 1 ]; then
    echo "usage: media-controller <command>"
    exit
fi

COMMAND=$1

RADIO_TRAY_PID=`pgrep -x "radiotray"`
if [ $RADIO_TRAY_PID ]; then
    case $COMMAND in
        name)
            STATUS1=`dbus-send --print-reply --session --type="method_call" 
                --dest='net.sourceforge.radiotray' 
                '/net/sourceforge/radiotray' 
                'net.sourceforge.radiotray.getCurrentMetaData'`

            echo '$STATUS1' | sed 's/.*"(.*)"[^"]*$/1/'
            ;;
        *)
            echo "Command not supported for this player"
            ;;
    esac
fi
Se lancio lo script senza sed ottengo questo risultato:
'method return sender=:1.0 -> dest=:1.65 reply_serial=2 string "Beirut - Santa Fe"'

Con sed settato come nello script ottengo
Beirut - Santa Fe # cioè "cantante" - "nome canzone"

Bene, io vorrei anche questi risultati:
Beirut # solo nome del cantante
Santa Fe # solo nome della canzone

Come devo modificare sed per ottenere ciò che voglio?
Grazie

P.S.
Se ci riesco e qualcuno è interessato posso postare i risultati alla fine.

Avatar utente
Luco
Little John
Messaggi: 957
Iscritto il: 19 giugno 2009, 11:23
Località: [MI]

Messaggio da Luco » 26 agosto 2011, 10:26

Magari te la cavi con

Codice: Seleziona tutto

STR=`echo '$STATUS1' | sed 's/.*"(.*)"[^"]*$/1/'`
ARTIST=`echo $STR | awk -F '-'  '{print $1}'`
TITLE=`echo $STR | awk -F '-'  '{print $2}'`
--- Arch Linux user since april 2009

sbis
Novello Arciere
Messaggi: 36
Iscritto il: 10 dicembre 2008, 23:11

Messaggio da sbis » 26 agosto 2011, 15:02

grazie per la dritta, ha funzionato a dovere
ciao

fgr
Arciere
Messaggi: 188
Iscritto il: 2 dicembre 2008, 18:31

Messaggio da fgr » 27 agosto 2011, 11:15


Rispondi