ハイフン 次の文字列の最後の部分を取得します。

ハイフン 次の文字列の最後の部分を取得します。

ハイフンで区切られた文字列の最後の部分を抽出する単純なコマンドラインはありますか?たとえば、私は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.,])'

関連情報