2013-03-28 5 views
0

Как удалить подстроку с помощью косой черты?Как заменить подстроку косой чертой

#!/bin/sh 
dir="https://stackoverflow.com/a/directory/last/which/last part/needs to/be/removed/end" 
dir2=${dir/"last part/needs to/be/removed"} 
echo $dir2 

В этом примере выход должен стать

/a/directory/which/end 

Как это может быть достигнуто?

ответ

0

Вы используете bash синтаксис в sh.

варианты:

  • Изменить хижину строку #!/bin/bash и изменить dir2=${dir/"last part/needs to/be/removed/"}
  • Держите притон линию, как #!/bin/sh и изменить dir2="$(echo ${dir} | sed -e 's/last part\/needs to\/be\/removed\///')", где вам нужно будет сбежать от / сек
0

Один из способов:

dir2=${dir%last*} 
+0

I Я изменил свой пример. Я думаю, что ваше решение недостаточно точное ... – murze

Смежные вопросы