linux的三剑客

一,普通剑客

1,cut使用指定的规则来切分文本

(1)使用案例

创建一个aa文件

[root@localhost ~]#  vim aa


I 1love 2love
I l1ove l2ove
I 1love 2love 3love
I l1ove l2ove 3love
I1love 2love 3love

使用l分割(-f 1显示第一个l前的 ;-f1,2显示从头到第二个l间的不包括第二个l,-f 2 显示第一个l和第二个l间的l不显示)

示例

cut -d 'l' -f1 aa

运行结果:

cut -d 'l' -f1,2 aa

运行结果:

 

2, sort 对文本中的行进行排序

(1)以指定的符号分割按照第三列进行排序

# 按照字符串比较,1001 在2前面(先比较第一个字符在比较第二个)

sort -t ':' -k3 passwd1

(2)逆序 -r

sort -t ':' -k3  -r passwd1

(3)按照数值大小进行排序(如果有字母,字母在前)

sort -t ':' -k3  -n passwd1

3,wc统计单词数量

(1)统计单词行数

wc -l passwd1

(2)统计单词数量(以空格来区分)

wc -w passwd1

(3)统计字节数

wc -c passwd1

二,强大剑客

grep : 过滤文本 sed : 修改文本 awk : 处理文本

1,grep 对文本进行搜索(文件中)

(1)从文件passwd1和2中找到有root的那行

# 从文件passwd1和2中找到有root的那行
grep root passwd1 passwd2

(2)显示行号 -n

grep -n root passwd1 passwd2

(3)使用正则表达式 -E

grep -E 'r.*?t:' passwd1 passwd2

(4)显示不匹配的忽略大小写-nvi(i忽略大小写,v显示不匹配的) 

grep -niv -E 'ro.*?t:' passwd1

2,sed从管道中读取一行处理一行

sed使用详解

(1)替换字符串books替换aa中love(原文件也进行修改加 -i参数)

# 替换每行第一个
sed 's/love/books/' aa

# 替换所有
sed 's/love/books/g' aa

# 从第二个开始替换
sed 's/love/books/2g' aa

(2)打印发生替换的行

sed -n 's/1love/books/p' aa

(3)删除

# 删除空白行
sed '/^$/d' aa

# 删除第二行
sed '2d' aa

# 删除文件第二行到末尾
sed '2,$d' aa

(4)添加

# 从第二行每隔两行添加
sed '2~2a =====' aa

# 从第二行到第五行
sed '2,5a ====' aa

# 第n行到n+m行
sed '2,+3a ====' aa

# 第n行到最后一行
sed '2,$a =====' aa

3,awk用来处理文本,将文本按照指定的格式输出。其中包含了变量,循环以及数组

语法格式:

awk [参数] [处理内容] [操作对象]

awk更多用法

使用案例:

 (1)指定分隔符“:”并截取第六个字段

awk -F ":" '{print $6}'  aa 

(2)输入第二,第三列内容

awk '{print $2,3}' aa

(3)输出第四行之后的:

awk '(NF>=4){print}' aa

(4)使用awk打印ip

ifconfig ens33 | grep "netmask" | awk -F" " '{print $2}'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值