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.178linux.com/84296

(0)
N27_whatN27_what
上一篇 2017-08-09 09:23
下一篇 2017-08-10 11:25

相关推荐

  • sed命令初识

           sed是一种流编辑器,它是文本处理中非常常用的工具,能够配合正则表达式使用。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自…

    Linux干货 2017-12-03
  • echo address

    echo address

    Linux干货 2016-08-08
  • 正则表达式

         正则表达式是由一类特殊字符所编写的模式,通过这些字符的使用,我们能检索 查找文本中符合某些规则的内容。 正则表达式元字符的分类有:字符匹配,匹配次数,位置锚定,分组等。      字符匹配:      . : 匹配任意单个字符     &n…

    Linux干货 2017-04-06
  • N22-℡浮生.若夢 ╮第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash ## declare -i log_user declare -i notlog_user for i …

    Linux干货 2016-12-12
  • 搭建属于自己的DNS

    1、搭建主renzituo.com服务器     ①、在192.168.10.4主机上安装bind程序             yum -y install bind   &nbs…

    2017-04-16
  • 软件包管理

    软件运行环境 ABI(应用程序的二进制接口):Application Binary Interface Windows 与Linux 不兼容 ELF(Executable and Linkable Format)           —&…

    Linux干货 2017-04-23