linux三剑客

1 简介

其实就是三个命令
处理文本文件的三个命令
  • grep:过滤文件中的符合指定内容的行
  • awk:从文件中的每行内容中截取指定的部分/字段
  • sed:对文件中的内容进行替换

2 grep

grep也是一模式化的工具
在grep的时候,是针对每一行进行一次过滤,判断这行是否有满足条件的内容,如果有就显示这行;否则不显示

格式:

grep [选项] "匹配的内容" 目标文件
cat 目标文件 | grep [选项] "匹配的内容"

 选项

-v:取反
-o:显示匹配的内容

 

3 sed

sed 在处理文本的时候,会将文本加载到内存中,然后对内存中的文件的副本进行处理【也就是文件的原始内容不受影响】

 格式:

sed [选项] 操作 目标文件

 选项

-i:修改原始文件【如果不加-i,那就是仅仅修改内存中的文件副本】
案例:将new.txt中的name=tom修改成jerry
sed -i "s/name=tom/name=jerry/g" new.txt
案例:将new.txt中的 / 修改成@
sed -i "s#/#@#g" new.txt

4 awk

截取文件中每行的指定的字段
概念
记录:文件中的每一行都是一条记录
分隔符:分割每一行的符号
字段:一条记录被分隔符分割后的每一块都是一个字段

 格式:

awk -F "分隔符" '{print $数字}' 文件名
cat 文件名 | awk -F "分隔符" '{print $数字}'

 补充

0 输出整条记录
NF 输出最后一个字段

 测试文件

[root@localhost ~]# cat a.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
案例
[root@localhost ~]# cat a.txt | awk -F "/" '{print $3}'
bin
sbin
sbin
adm:
spool
[root@localhost ~]# ip addr s ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group
default qlen 1000
link/ether 00:0c:29:6d:1e:f3 brd ff:ff:ff:ff:ff:ff
inet 172.16.100.2/16 brd 172.16.255.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::ed73:f15a:c37:265d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
案例:截取ip地址
写法1:
ip addr s ens33 | grep "scope global" | awk -F " " '{print $2}' | awk -F "/" '{print
$1}'
写法2:
ip addr s ens33 | awk -F " " '/scope global/{print $2}' | awk -F "/" '{print $1}'
写法3:
ip addr s ens33 | awk -F "[/ ]+" '/scope global/{print $3}

 

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值