文字列の例:
/ 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##*/}