在 AIX 中使用单个 AWK 从字段中提取子字符串

Vij*_*esh 5 aix awk grep ksh

我有一个文件,file内容如下:

stringa    8.0.1.2     stringx
stringb    12.01.0.0    stringx
Run Code Online (Sandbox Code Playgroud)

我必须从字段 2 中获取子字符串(前两个带点的值)。我目前正在做cat file | awk '{print $2}' | awk -F. '{print $1"."$2}'并得到预期的输出:

8.0
12.01
Run Code Online (Sandbox Code Playgroud)

我怎样才能用一个 AWK 来做到这一点?

我尝试过使用 match(),但我没有看到向后引用的选项。

And*_*erg 4

你可以做这样的事情。

awk '{ split($2,str,"."); print 
Run Code Online (Sandbox Code Playgroud)

输出:

str[1]"."str[2] }' file
8.0
12.01
Run Code Online (Sandbox Code Playgroud)

另外,请记住,cat不需要您的。只需将文件直接提供给awk.