Linux三剑客

Linux三剑客

标签(空格分隔): Linux grep sed awk


[TOC]

在Linux系统当中,处理文本有三个常用的模式匹配命令 grep sed awk ,这三个命令十分灵活,应该熟练掌握

1. grep

常用场景:

ls -l | grep -name
cat test.txt | grep -v 123

2. sed

常用场景:

输出文件test.txt的2~5行
sed -n '2,5p' test.txt

3. awk

常用场景:

输出网卡eth0的IP地址
ifconfig eth0 | awk -F "[: ]+" 'NR==2 print{$4}'

解析:

awk 命令可以把文本分隔成若干部分,再通过 print 输出

eth0      Link encap:Ethernet  HWaddr 00:0c:29:49:36:e0  
      inet addr:192.168.57.145  Bcast:192.168.57.255  Mask:255.255.255.0
      inet6 addr: fe80::20c:29ff:fe49:36e0/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:300950 errors:5 dropped:0 overruns:0 frame:0
      TX packets:34769 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:34487134 (34.4 MB)  TX bytes:9606983 (9.6 MB)
      Interrupt:19 Base address:0x2000

-F "[: ]+" 参数:

-F          // 分隔多列
"[: ]+"     // 用":"和" "同时作为分隔符,"+"表示匹配多个
空格 inet addr 192.168.57.145 Bcast:192...
第一列 第二列 第三列 第四列 第五列

NR 参数:

NR==2       // 表示输出第二行

print 参数:

print $4    // 输出第四列

!!!EOF

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,268评论 2 33
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 1,141评论 0 0
  • sed工具简介 用法:sed [-nefri] 动作参数:-n:使用安静模式(Silent)模式,一般在sed的...
    Bloo_m阅读 1,042评论 0 1
  • sed与awk实例 文本间隔 在每一行后面增加一空行 将原来的所有空行删除并在每一行后面增加一空行。这样在输出的文...
    stuha阅读 1,946评论 0 21
  • 八月。九华。 时近中秋。 傍晚时分,残阳将落,余晖一抹涂开。风起,层林尽染。 鹧鸪岭山势平缓,入秋树木不见衰落,郁...
    一束冬阳阅读 2,765评论 0 0