Ste*_*ven 17 command-line sed awk string command
是否有一个简单的命令行来提取由连字符分隔的字符串的最后一部分?例如,我想123从foo-bar-123.
jas*_*yan 32
您可以使用 Bash 的参数扩展:
string="foo-bar-123" && printf "%s\n" "${string##*-}"
123
Run Code Online (Sandbox Code Playgroud)
如果你想使用另一个进程,用 awk:
echo "foo-bar-123" | awk -F- '{print $NF}'
Run Code Online (Sandbox Code Playgroud)
或者,如果您更喜欢 Sed:
echo "foo-bar-123" | sed 's/.*-//'
Run Code Online (Sandbox Code Playgroud)
正如格伦杰克曼所建议的那样,一个更轻松的外部过程是cut:
cut -d- -f3 <<< "$string"
Run Code Online (Sandbox Code Playgroud)