sort、uniq、wc、tr

sort命令

sort针对文本的内容以行为单位进行排序,默认是根据ASCII码进行排序,先比较第一个字符,第一个字符相同比较第二个字符。

[root@jiakang tmp]# cat sort.txt
123
444
134
222
33

[root@jiakang tmp]# sort sort.txt

123
134
222
33
444

选项说明:

  • -n 数值排序

  • -r 降序

  • -t 字段分隔符

  • -k 以哪个字段为关键字排序

  • -u 排序后相同的行只显示一次

  • -f 排序时忽略字符的大小写

[root@jiakang tmp]# sort -t : -k 3 passwd
root:x:0:0:root:/root:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin

uniq命令

去掉相邻的重复的行,不相邻的重复行不会被去掉【相邻的才叫重复】

  • -c 显示文本行重复的次数

  • -d 只显示重复的行

[root@jiakang tmp]# cat sort.txt 
444
444
222
444
134
222
222
33

[root@jiakang tmp]# uniq -c sort.txt 
      2 444
      1 222
      1 444
      1 134
      2 222
      1 33
      1 

wc命令

wc用来实现文本的统计默认显示 行数 单词数 字节数【或字符数,包括隐藏的】

  • -l 只显示行数

  • -w 只显示单词数

  • -c 只显示字节数

  • -L 表示最长的一行包含了多少个字符


[root@jiakang tmp]# uniq -c sort.txt 
      2 444
      1 222
      1 444
      1 134
      2 222
      1 33
      1 
[root@jiakang tmp]# wc sort.txt
 9  8 32 sort.txt
[root@jiakang tmp]# wc -l  sort.txt
9 sort.txt
[root@jiakang tmp]# wc -w  sort.txt 
8 sort.txt
[root@jiakang tmp]# wc -c  sort.txt 
32 sort.txt
[root@jiakang tmp]# wc -L  sort.txt 
3 sort.txt

tr命令

字符处理命令,进行字符的替换、删除

[root@jiakang tmp]# tr 'ab' 'AB'
acd
Acd
bcd
Bcd
abcd
ABcd

可以通过输入重定向来进行文本输出结果的替换

[root@jiakang tmp]# tr '444' 'jiakang' < sort.txt
aaa
aaa
222
aaa
13a
222
222
33

[root@jiakang tmp]# cat sort.txt
444
444
222
444
134
222
222
33

把所有的小写字母替换成大写字母

[root@jiakang tmp]# tr 'a-z' 'A-Z' 
[root@jiakang tmp]# tr '1-4' '5-8' < sort.txt          
888
888
666
888
578
666
666
77
  • -d 指定删除特定的字符


[root@jiakang tmp]# tr -d 'ab' 
abc
c
absort
sort
    原文作者:Big_fat_cat
    原文地址: https://segmentfault.com/a/1190000008877931
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞