awk多个分割符(其中一个是空格)怎么设置?

wokaokeji 发布于 2012/11/21 17:01
阅读 7K+
收藏 1
AWK

源文件如下:

RX bytes:2818945420340 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818947278341 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818949656864 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818951776104 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818953847769 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818955487200 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818957536831 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818959462466 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818961562026 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818963140067 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818964833425 (2.5 TiB)  TX bytes:9980110 (9.5 MiB

现在,我是执行

awk  -F'[:]' '{print $2}' /tmp/t| awk '{print $1}'
得到的

2818945420340
2818947278341
2818949656864
2818951776104
2818953847769
2818955487200
2818957536831
2818959462466
2818961562026
2818963140067
2818964833425

怎么能运行一次awk而得出我要的数据呢?



加载中
1
皮总
皮总
awk -F":| " '{print $13}'  /tmp/t
wokaokeji
wokaokeji
回复 @红薯 : 老大给力,我还以为删了,就可以重新选最佳答案
红薯
红薯
回复 @皮总 : 给你搞好了
皮总
皮总
回复 @wokaokeji : @红薯 我想挣点分数不容易啊。
wokaokeji
wokaokeji
原来是一大堆空格造成的啊,3Q. 最佳答案点错了,设不了了,囧。。。
0
皮总
皮总


 awk -F":| " '{print $3}' /tmp/t 


 awk -F"[: ]" '{print $3}' /tmp/t 

皮总
皮总
回复 @wokaokeji : 你把你的源文件好好的贴出来。
皮总
皮总
回复 @wokaokeji : 为啥我执行的就有结果呢?
wokaokeji
wokaokeji
输出空,并没有分割,是不是空格需要转义?
0
wokaokeji
wokaokeji

引用来自“皮总”的答案


 awk -F":| " '{print $3}' /tmp/t 


 awk -F"[: ]" '{print $3}' /tmp/t 

RX bytes:2818945420340 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818947278341 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818949656864 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818951776104 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818953847769 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818955487200 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818957536831 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818959462466 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818961562026 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818963140067 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
          RX bytes:2818964833425 (2.5 TiB)  TX bytes:9980110 (9.5 MiB)
皮总
皮总
回复 @wokaokeji : awk -F":| " '{print $13}' /tmp/t
wokaokeji
wokaokeji
/tmp# awk -W version mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan compiled limits: max NF 32767 sprintf buffer 2040
wokaokeji
wokaokeji
你就直接从第二行开始,第一行前边的空白被吃了
0
GitLab中文社区
GitLab中文社区
sed 's/ /g/' 1.txt | awk -F'[:(]'+ '{print $2}'

1.txt就是你的源文件


0
m
mr_franklin

awk -F":| *" '{print $4}' test.txt

返回顶部
顶部