我有这种格式的输出:
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 ,
这是对您的命令的一种重构。
关于bash - 在 bash/awk 中提取大括号之间的值的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11978892/