Linux输出 - 找到两个之间的数字/

时间:2017-03-16 15:02:16

标签: regex linux

修改查询以提供更多上下文。

我正在编写一个groovy脚本来获取对象列表 输出s3:// xyz / 1 / abc        S3:// XYZ / 2 / LMO        S3:// XYZ / 6 / HJL

我需要grep中间最大的数字(这里是6)。

在命令行上我试过了 echo“xyz / 23 / xyz / jhdids / dsd”| awk -F \ /'$ 0 = $ 2' awk:警告:转义序列\/' treated as plain /' 23;

它适用于命令提示符。但是当我尝试将它嵌入我的groovy脚本中时,它会出错。 在groovy中 - $ 4的值为xyz / 23 / xyz / jhdids / dsd

aws s3 ls --recursive s3:// xyz |排序|尾巴-n 1 | awk'{print $ 4 | awk -F \ /'$ 0 = $ 2'} \'

希望这能详细说明我的问题。 谢谢

1 个答案:

答案 0 :(得分:0)

<linux_command> | grep -oP "\/\K(\d+)(?=\/.*)"