簡體   English   中英

字符字段分隔符AWK的最后一次出現

[英]Last Occurrence of Character Field Separator AWK

我正在使用find命令查找某種格式的所有文件,該命令一直很黃金。 我將輸出匯總到一個awk命令,我想使用最后一個下划線作為字段分隔符。 問題在於,根據文件所在的路徑,在事實之前可能會有一個或兩個下划線。

find . -regex ".*prob[0-9]*_.*" | awk 'BEGIN { FS = "_.*$" } { print $1 " " $2 }'

我得到了我的字段分隔符中的正則表達式的錯誤,它認為在下划線和后面的內容之間分開,是否僅指定單個字符本身。 此外,如何在最后一次出現的字符上專門使用字段分隔符。

這有點是我前面提到的問題的擴展: 在管道回聲時抑制輸出到StdOut

我得到的文件通常是這樣的,皺紋是目錄也可以有一個下划線:/ / directory / probXXXXX_XX

其中X是任何整數。

我一直在考慮的解決方法是在每個下划線上分離,然后打印每一列......我寧願讓它在上面的方法中工作。

一個不明顯的awk技巧是$是一個運算符; 你可以將它與變量甚至表達式一起使用,特別是涉及預定義變量NF表達式: $NF獲取最后一個字段, $(NF - 1)是第二個字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM