awk多分隔符

awk的-F參數可以指定新的分隔符,有些時候可能需求指定多個分隔符,比如下面的內容

[root@N1 ~]# netstat -an | grep ESTAB 
udp        0      0 192.168.1.120:35570     212.47.249.141:123      ESTABLISHED
udp        0      0 192.168.1.120:55589     108.59.2.24:123         ESTABLISHED

如果需要取出源IP的話,一般大家會這樣做,即做兩次awk操作

[root@N1 ~]# netstat -an | grep ESTAB | awk  '{print $5}' | awk -F: '{print $1}'
108.59.2.24
212.47.249.141

其實呢,通過在awk中指定兩個分隔符(空格和:),即可一次性的提取出源IP地址,在awk中支持多個分隔符的寫法如下:

[root@N1 ~]# netstat -an | grep ESTAB | awk -F '[ :]+' '{print $6}'
108.59.2.24
212.47.249.141
#多一個加號表明將連續出現的分隔符當做一個來處理

注意:

在awk中,當分隔符指定為空字符串時,awk會將多個連續的空白看做一個單一的分隔符。此外,awk還會忽略開頭和結尾處的空白。

原創文章,作者:N27_what,如若轉載,請注明出處:http://www.www58058.com/84296

(0)
N27_whatN27_what
上一篇 2017-08-09
下一篇 2017-08-10

相關推薦

  • 系統無法正常啟動的解決之道

    先來看下配置文件的格式: [root@centos6 ~]# uname -r 2.6.32-642.el6.x86_64 [root@centos6 ~]# cat /boot/grub/grub.conf  # Note that you do&…

    Linux干貨 2016-09-19
  • N25-第三周作業

      列出當前系統上所有已經登陸的用戶的用戶名,注意:同一個用戶登陸多次,則只顯示一次即可。     2.取出最后登陸到當前系統的用戶的相關信息。     3.取出當前系統上被用戶當作其默認shell的最多的那個shell.     4.將/etc/password中的第三個字段數值最大的后…

    Linux干貨 2016-12-19
  • rsyslog將日志記錄于MySQL中

    數據庫服務器:CentOS7 192.168.119.159   日志:CentOS6 192.168.119.129     準備mysql數據庫 和 用戶賬戶 [root@localhost ~]# yum install mariadb-server   [root@localhost ~]# systemctl…

    2018-02-05
  • 文件管理及常用命令(一)

    cat命令: -n 增加行號 空行也增加行號          [root@localhost ~]# cat f1     abcd     abc…

    Linux干貨 2016-08-08
  • N24_小天 學習宣言

    每周安排時間看視頻,每天安排時間學習并跟進課程,認真記筆記,認真寫博客。多動手操作,堅持不斷。學習思維,提升自己解決問題的思路。多動手,多實踐。

    Linux干貨 2016-10-27
  • 第五周作業

    1、顯示當前系統上root、fedora、或user1用戶的默認shell;          [root@yangjifeng~]# grep -E “^(root|fedora|user1)\>” /etc/passwd | cut -d: -f…

    Linux干貨 2017-09-04
欧美性久久久久