【问题标题】:Linux output - find numbers between two /Linux 输出 - 查找两个 / 之间的数字
【发布时间】:2017-08-07 20:13:25
【问题描述】:

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

我正在编写一个 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'}\'

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

【问题讨论】:

标签: regex linux


【解决方案1】:
<linux_command> | grep -oP "\/\K(\d+)(?=\/.*)"

【讨论】:

    猜你喜欢
    • 2014-08-05
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 2019-08-13
    • 2012-02-09
    相关资源
    最近更新 更多