Ich habe manchmal folgende Variablen die sich Unterscheiden:
/volumeUSB2/usbshare/Abc
/volumeUSB2/usbshare/Abc/volume3/Xyz
/volume1/Def/Xyz
/Abc/volume4/Xyz
Und es soll gecheckt werden ob am Anfang
/volumeUSBX/usbshare, /volumeSATA/satashare oder /volumeX steht und das löschen,
sodass ich folgendes Ausgeben kann:
/Abc
/Abc/volume3/Xyz
/Def/Xyz
/Abc/volume4/Xyz
Bislang habe ich es anderswo so gelöst allerdings kann ich da nicht nur an erste
Stelle checken oder gibt es hier eine Möglichkeit das mit ^ zu lösen?
SF=${SF#*/volume????/*share}
SF=${SF#*/volume?}
Jetzt dachte ich probier es mit sed, alleerdings löscht er mir da alles.
for SF in $SFA; do
SF=$(echo $SF | sed 's#^/volume.*\/.*share##')
SF=$(echo $SF | sed 's#^/volume.?/##')
done
Kennt jemand mal eine gute Seite wo das mit sed auch
einigermaßen leicht verständlich erklärt wird?
*EDIT*
ach es kann so einfach sein, ganz in Ruhe hingesetzt und 5 Minuten alles gelesen.
Mal genau die regulären Ausdrücke angeschaut und es geht.
SFA=$(echo $SF | sed 's#^.volume.....*share##')
SFA=$(echo $SFA | sed 's#^.volume.##')