今私はこれを持っています:
echo "silly/horse/fox" | cut -d "/" -f3
fox
しかし、区切り文字の数に関係なく、最後の文字列を取得できるようにしたいと考えています。
「愚かな/馬/キツネ/ライオン」のようなものは、「ライオン」を返します
Python の string.split('/')[-1] と同等のもの
純粋な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
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
最後のフィールドを参照してください。
awk -F'/' '$0=$NF'
また
grep -o "[^/]*$"
また
sed 's#.*/##'