Command-Line
在連字元後獲取字元串的最後一部分
是否有一個簡單的命令行來提取由連字元分隔的字元串的最後一部分?例如,我想從中
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"
echo "foo-bar-123"| awk -F"-" '{print $3}'