ハイフンで区切られた文字列の最後の部分を抽出する単純なコマンドラインはありますか?たとえば、私は123
それから抽出したいと思いますfoo-bar-123
。
答え1
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/.*-//'
次のようなより軽い外部プロシージャグレンジャックマンが提案したもの例cut
:
cut -d- -f3 <<< "$string"
答え2
echo "foo-bar-123"| awk -F"-" '{print $3}'
答え3
grep -Po '(?<=\w-)\w+(?=$|[\s.,])'