Sziasztok,
A mocp zenelejátszóhoz szeretnék írni egy scriptet, ami az internetes rádióban éppen futó zene adatait elmenti egy sima txt-be. Az alap logikával készen vagyok, de a scriptet ki szeretném egészíteni annyival, hogy az esetleges duplikációkat szűrje. Ezzel akadt problémám, ugyanis a szóközökkel, kötőjelekkel tagolt számcímeket a grep nem matcheli, hiába tudom hogy a fileban már benne van. (Valami számcím - Valami banda - valaminetradio.com)
Íme a jelenlegi állapot:
#!/bin/bash
song="$(mocp -Q '%artist %title')"
duplicate=`cat ~/bands.txt | grep "$song" | wc -l`
if [ "$duplicate" -eq "0" ]
then
echo "$song" >> ~/bands.txt
notify-send "Song saved to bands.txt"
else
notify-send "Duplicate song."
fi
A hiba ott van, hogy a duplicate változó mindig 0 marad, akkor is ha a zeneszám már szerepel a fileban.
Próbálkoztam különféle grep paraméterekkel,
song="\'"$song"\'
átalakítással, spacek awk-val való escapelésével, de nem sikerült működő eredményt produkálnom. Ezúttal kérném a részletek ördögeiben jártas hozzáértőket, hogy sötétítsenek fel a helyes megoldásról, és annak miértjéről :)