bash:如何削减领域

时间:2018-01-19 19:33:06

标签: bash awk

我编写了一个名为1.sh的脚本,如下所示:

#!/bin/bash

some_command | awk '{print $1, $5, $6}'

当我执行./1.sh时,我得到结果:

abc 10.10.10.10.a 1234
def 11.11.11.11.b 5678
ghi 12.12.12.12.c 9012

现在我想做出这样的结果:

abc 10.10.10.10 a 1234
def 11.11.11.11 b 5678
ghi 12.12.12.12 c 9012

这意味着我需要处理$2

我是bash的新手,所以我不知道怎么能得到这个。

2 个答案:

答案 0 :(得分:1)

关注awk '{match($5,/.*\./);print $1,substr($5,RSTART,RLENGTH-1),substr($5,RSTART+RLENGTH),$6}' Input_file 也可以帮助您。

{{1}}

答案 1 :(得分:0)

您可以修改您的awk来处理它:

some_command |
awk 'match($5, /\.[^.]+$/){print $5, substr($5, 1, RSTART-1), substr($5, RSTART+1), $6}'