web-dev-qa-db-ja.com

ハイフンの後の文字列の最後の部分を取得する

ハイフンで区切られた文字列の最後の部分を抽出する簡単なコマンドラインはありますか?例:抽出したい123からfoo-bar-123

10
Steven

Bashの パラメータ展開 を使用できます。

string="foo-bar-123" && printf "%s\n" "${string##*-}"
123

Awkで別のプロセスを使用する場合:

echo "foo-bar-123" | awk -F- '{print $NF}'

または、Sedを使用する場合:

echo "foo-bar-123" | sed 's/.*-//'

Glenn Jackmanが示唆するように、より軽い外部プロセスはcutです:

cut -d- -f3 <<< "$string"
23
jasonwryan
grep -Po '(?<=\w-)\w+(?=$|[\s.,])'
3
JJoao
echo "foo-bar-123"| awk -F"-" '{print $3}' 
1
rcjohnson