在bash / awk中使用大括号之间提取值的最佳方法是什么?

我有这种格式的输出

Infosome - infotwo: (29333) - data-info-ids: (33389,94934)

我想在最后一对括号中提取最后两个数字.有时在最后一对括号中只有一个数字.

这是我使用的代码.

echo "Infosome - infotwo: (29333) - data-info-ids: (33389,94934)" | \
  tr "," " " | tr "(" " " | tr ")" " " | awk -F: '{print $4}'

提取值是一种更干净的方法吗?还是更优化的方式?

解决方法

试试这个:

awk -F '[()]' '{print $(NF-1)}' input | tr -d,

这是你的命令的重构.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...