我编写了一个名为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的新手,所以我不知道怎么能得到这个。
答案 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}'