Linux shell编程学习笔记(七) 文本编辑

7 篇文章 0 订阅

1、sort行排序

如:

book@wzs:~/work/tq210/shell$ cat aa
fdafafad
aads
csfffs
39afds
Efda
%%afd
AADS
osfds
aads
*12d
sdfs
Yfds
rfdas
book@wzs:~/work/tq210/shell$ sort -f -u aa
*12d
39afds
aads
%%afd
csfffs
Efda
fdafafad
osfds
rfdas
sdfs
Yfds

其中,-f 表示忽略大小写,-u 表示去掉重复行


2、sort根据字段排序

根据第2个字段排序,如:

book@wzs:~/work/tq210/shell$ cat aa
ad:3:fds
ad:90:fds
ad:1:fds
ad:110:fds
ad:16:fds
ad:19:fds
ad:4:fds
book@wzs:~/work/tq210/shell$ sort -t: -k2 -n aa
ad:1:fds
ad:3:fds
ad:4:fds
ad:16:fds
ad:19:fds
ad:90:fds
ad:110:fds

其中,-t 后面的“:”表示以冒号作为字段分界符,如没有设定,默认是空白符,-k 后面的数字“2” 表示以第2个字段作为比较键值字段,-n 表示按照整数进行比较


3、uniq去掉重复行

重复的行必须相邻,才能检测出来,如:

book@wzs:~/work/tq210/shell$ cat aa
apples
bonana
oringe
beer
potato
beer
apples
book@wzs:~/work/tq210/shell$ uniq aa
apples
bonana
oringe
beer
potato
beer
apples
book@wzs:~/work/tq210/shell$ sort aa | uniq
apples
beer
bonana
oringe
potato
book@wzs:~/work/tq210/shell$ sort aa | uniq -c
      2 apples
      2 beer
      1 bonana
      1 oringe
      1 potato
book@wzs:~/work/tq210/shell$ sort aa | uniq -d
apples
beer
book@wzs:~/work/tq210/shell$ sort aa | uniq -u
bonana
oringe
potato


其中,-c 表示显示重复行的数目,-d 表示仅显示重复行,-u 表示仅显示不重复行
用sort命先把重复的行相邻,uniq命令就可以检测到重复行

4、wc 统计文本

统计文本行数、字数、字符数,如:

book@wzs:~/work/tq210/shell$ wc aa
 7 10 56 aa
book@wzs:~/work/tq210/shell$ wc -c aa
56 aa
book@wzs:~/work/tq210/shell$ wc -w aa
10 aa
book@wzs:~/work/tq210/shell$ wc -l aa
7 aa

其中,-c 表示字符数,-w 表示字数,-l 表示行数

高级应用:

book@wzs:~/work/tq210/shell$ sudo find /etc/ -iname "*.conf" | wc -l
501
book@wzs:~/work/tq210/shell$ grep bash /etc/passwd | wc -l
2


统计多个文本,并且汇总,如:

book@wzs:~/work/tq210/shell$ wc /etc/*rc
   64   290  2076 /etc/bash.bashrc
   77   261  3095 /etc/drirc
   66   255  1721 /etc/inputrc
  299  1364  8453 /etc/nanorc
  126   797  4496 /etc/wgetrc
  632  2967 19841 total

5、提取文档的开头和结尾

book@wzs:~/work/tq210/shell$ cat aa
apples
bonana
oringe dsd
beer
potato 23
beer $sf
apples
book@wzs:~/work/tq210/shell$ head -3 aa
apples
bonana
oringe dsd
book@wzs:~/work/tq210/shell$ tail -3 aa
potato 23
beer $sf
apples


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值