我想从以下字符串的最后一部分中提取第二个字段:
foo_1.103.debug_xx.ver21-inc-1 --> string extracted "debug_xx"
foo_1.103.1.0.release_32_xx.ver21-inc-1 --> string extracted "release_32_xx"
foo_1.103.1.0.release_xx.ver21-inc-1 --> string extracted "release_xx"
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
与纯bash
:
IFS='.' read -a p <<< 'foo_1.103.1.0.release_32_xx.ver21-inc-1'
echo "${p[${#p[@]}-2]}"
Run Code Online (Sandbox Code Playgroud)
您可以更轻松地使用awk
:
awk -F. '{print$(NF-1)}' <<< 'foo_1.103.1.0.release_32_xx.ver21-inc-1'
Run Code Online (Sandbox Code Playgroud)
如果您要解析的字符串是文件名,您仍然可以使用awk
:
awk -F. 'BEGIN{for(i=1;i<ARGC;i++){$0=ARGV[i];print$(NF-1)}}' foo*
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2341 次 |
最近记录: |