2017-03-16 36 views
-3

修改查詢以提供更多上下文。Linux輸出 - 查找兩個之間的數字/

我寫一個Groovy腳本來獲得對象的列表 輸出S3:// XYZ/1/ABC S3:// XYZ/2/LMO S3:// XYZ/6/HJL

我需要grep中間最大的數字(這裏是6)。

在命令行我試圖 回聲 「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'}''

希望能夠闡述我的問題。 謝謝

+0

歡迎來到Stack Overflow!純粹的代碼寫入請求是堆棧溢出的主題 - 我們希望這裏的問題與*特定的*編程問題相關 - 但我們會很樂意幫助您自己編寫它!告訴我們[你試過的東西](http://stackoverflow.com/help/how-to-ask),以及你卡在哪裏。這也將幫助我們更好地回答你的問題。 –

+0

[shell腳本可能重複。如何提取字符串使用正則表達式](http://stackoverflow.com/questions/19737675/shell-script-how-to-extract-string-using-regular-expressions) – chbchb55

回答

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