0

スラッシュを含む部分文字列を削除するにはどうすればよいですか?

#!/bin/sh
dir="/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

これはどのように達成できますか?

4

2 に答える 2

0

bashで構文を使用していますsh

オプションは次のとおりです。

  • シバン行を#!/bin/bashに変更して変更しますdir2=${dir/"last part/needs to/be/removed/"}
  • シバン行をそのままにして、 sをエスケープする必要がある場所を#!/bin/sh変更しますdir2="$(echo ${dir} | sed -e 's/last part\/needs to\/be\/removed\///')"/
于 2013-03-28T17:18:07.310 に答える
0

一方通行 :

 dir2=${dir%last*}
于 2013-03-28T15:39:35.753 に答える