Command-Line

在連字元後獲取字元串的最後一部分

  • March 31, 2015

是否有一個簡單的命令行來提取由連字元分隔的字元串的最後一部分?例如,我想從中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}' 

引用自:https://unix.stackexchange.com/questions/193482