Вы можете использовать любой из:
x=a/b/c/d
y=a/
echo ${x#a/}
echo ${x#$y}
echo ${x#*/}
Все три команды эха производят b/c/d
; Конечно, вы можете использовать это значение любым удобным для вас способом.
Первый вариант подходит, когда вы знаете имя, которое необходимо удалить при написании сценария.
Второй вариант подходит, если у вас есть переменная, содержащая префикс, который нужно удалить (дополнительный вариант: y=a; echo ${x#$y/}
).
Третий является наиболее общим - он удаляет любой произвольный префикс до первого слэша. Я был приятно удивлен, обнаружив, что *
работал без жадности, когда я тестировал его с bash
(версия 3.2) на MacOS X 10.6.6 - я отнесу это к чрезмерной работе Perl и регулярных выражений (потому что когда я думаю об этом, *
в оболочке не включает косые черты).