5

今私はこれを持っています:

echo "silly/horse/fox" | cut -d "/" -f3
fox

しかし、区切り文字の数に関係なく、最後の文字列を取得できるようにしたいと考えています。

「愚かな/馬/キツネ/ライオン」のようなものは、「ライオン」を返します

Python の string.split('/')[-1] と同等のもの

4

3 に答える 3

9

純粋なbashソリューション:

$ foo="silly/horse/fox"
$ echo ${foo##*/}
fox
$ foo="silly/horse/fox/lion"
$ echo ${foo##*/}
lion

使用sed:

$ echo "silly/horse/fox/lion" | sed 's#.*/##'
lion
于 2013-07-25T12:50:16.460 に答える
5

awk救助へ:

$ echo "silly/horse/fox" | awk -F"/" '{print $NF}'
fox
$ echo "silly/horse/fox/but/not/that/much" | awk -F"/" '{print $NF}'
much
$ echo "unicorn" | awk -F"/" '{print $NF}'
unicorn

$NF最後のフィールドを参照してください。

于 2013-07-25T12:48:53.500 に答える
3
awk -F'/' '$0=$NF'

また

grep -o "[^/]*$"  

また

sed 's#.*/##'
于 2013-07-25T12:49:28.610 に答える