ハイフンで区切られた文字列の最後の部分を抽出する簡単なコマンドラインはありますか?例:抽出したい123
からfoo-bar-123
。
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"
grep -Po '(?<=\w-)\w+(?=$|[\s.,])'
echo "foo-bar-123"| awk -F"-" '{print $3}'