簡體   English   中英

從字段中提取awk編號

[英]awk extract number from field

我想提取一個字段包含的數字。

例如,提交的$5看起來像[u8789]我將需要8789

我已經知道可以使用echo "[u8789]"|awk -F'[^0-9]*' '$0=$2'

但是我在awk腳本中也需要相同的內容,而且我還沒有找到如何在不從shell調用awk的情況下獲得預期結果的方法。

謝謝

我會用grep:

grep -o '[[:digit:]]\+'

當應使用awk且具有gawk ,可以使用FPAT變量:

gawk '{print $1}' FPAT='[0-9]+'

在沒有FPAT或定界符FPAT情況下,awk腳本的“從內部”,我將使用gsub() ,如下所示:

awk '{gsub(/[^[:digit:]]/, "", $0)}1'

進一步閱讀:

(g)awk腳本

您的問題不是很清楚...

  • 我相信您想要一個腳本。

以下2個例子

I)獲取每行中的前2個數字(@ hek2mgl之后)

#!/usr/bin/gawk -f

BEGIN  { FPAT="[0-9]+"}
       { print $1,$2}

II)得到方括號內的所有數字[...]

#!/usr/bin/gawk -f

BEGIN  { RS="["; FS="]"; }
       { print $1}

暫無
暫無

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

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