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

标签 bash shell 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 ,

这是对您的命令的一种重构。

关于bash - 在 bash/awk 中提取大括号之间的值的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11978892/

相关文章:

bash - 我怎样才能对带有前导零的数字变量进行 bash 算术运算?

bash - 解释 sed、grep 和 cut 语法

shell - 从 shell 获取终端的 X11 窗口 ID

shell - 强制 GNU make 使用特定的 shell

linux - 带变量的 Shell 脚本更改目录

linux - 在末尾用数字替换重复的用户名

python - 更新指向包含空格的保管箱目录的 PYTHONPATH 变量

linux - 执行 ln -s 命令的 bash 脚本在退出时收到错误代码,但已成功创建符号链接(symbolic link)

file - 将特定行从一个文件复制到另一个文件的 unix 命令是什么?

bash - 将文本文件从包含 X 的行剪切到包含 Y 的第一行