文字列の例:
/ gasg/string
期待される結果:string
削除する文字:記号を含む「/」記号の間のすべての文字
sed
の場合:
$ echo "/gasg/string" | sed -e 's/\/.*\///g'
string
組み込みのbash文字列操作の場合:
$ s="/gag/string"
$ echo "${s##/*/}"
string
文字列はUnixパス名とまったく同じように見えます。そのため、basename
ユーティリティを使用することもできます。指定したUnixパス名の最後の部分が返されます。
$ basename "/gag/string"
string
# It works with relative paths and spaces too:
$ basename "gag/fas das/string bla bla"
string bla bla
また、awk-区切り文字としてスラッシュを使用し、最後のフィールドを出力します
echo "/gas/string" | awk -F/ '{print $NF}'
またはカット-しかし、それはあなたがストリップするディレクトリの数が同じ場合にのみ機能します
echo "/gasg/string" |cut -d/ -f 3
bash文字列操作を使用できます
a='/gasg/string'
echo ${a##*/}