24

文字列の例:

/ gasg / string

期待される結果 :string

削除する文字:記号を含む「/」記号の間のすべての文字

4

3 に答える 3

32

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
于 2012-05-27T19:41:49.560 に答える
32

またawk-区切り文字としてスラッシュを使用し、最後のフィールドを印刷します

echo "/gas/string" | awk -F/ '{print $NF}'

またはカット-しかし、それはあなたがストリップするディレクトリの数が同じである場合にのみ機能します

echo "/gasg/string" |cut -d/ -f 3
于 2012-05-27T20:00:13.460 に答える
8

bash文字列操作を使用できます

a='/gasg/string'
echo ${a##*/}
于 2012-05-28T01:41:04.880 に答える