wc
wc命令简介
wc命令可以用来统计文件中的行数,单词书,字节数
wc命令语法格式
wc [选项列表] [文件名列表]
wc命令常用选项
-l,–lines,统计行数
-c,–bytes,–chars,统计字节数
-w,–words,统计单词数
cut
cut命令简介
cut命令可以用来从文件中的每一行中提取片段,并把提取的文件显示在标准输出
cut语法格式
cut [options] [file]
cut常用选项
-b,--bytes=List,输出list范围长度的字节
-c,--character=List,输出list范围长度的字符
-d,--delimiter=DELIM,指定分隔符
-f,--fields=List,输出list范围内的内容
-n,忽略
-s,--only-delimited,不显示没有分隔符的行
--output-delimiter=string,使用string作为输出分隔符,缺省的输出分隔符为输入分隔符
在使用-b,-c,-f中的任意一个选项时,LIst由一个范围或逗号隔开的多个范围组成,形式如下:
N,第N个字节,字符或字段,从1计数
N-,从第N个字节,字符或字段到行尾
N-M,从第N个字节,字符或字段到第M(包括M)个字节,字符或字段
-M,从第一个字节,字符或字段到第M显示/etc/passwd文件中每行内容的第1-10字节的内容个字节,字符或字段
cut命令示例
1、显示/etc/passwd文件中每行内容的第1-10字节的内容
[root@mgr1 els]# cat /etc/passwd |cut -b1-10
root:x:0:0
bin:x:1:1:
daemon:x:2
adm:x:3:4:
lp:x:4:7:l
2、显示/etc/passwd文件中每行内容的第1-10个字符
[root@mgr1 els]# cat /etc/passwd |cut -c1-10
root:x:0:0
bin:x:1:1:
daemon:x:2
adm:x:3:4:
lp:x:4:7:l
sync:x:5:0
3、以":"为分隔符,查看/etc/passwd文件中国每行内容的1-3字段
[root@mgr1 els]# cat /etc/passwd|cut -d: -f1-3
root:x:0
bin:x:1
daemon:x:2
adm:x:3
lp:x:4
sync:x:5
shutdown:x:6
halt:x:7
mail:x:8
sort
sort简介
sort命令可以用来对文本文件的行进行排序
sort常用选项
-b,忽略排序字段或关键字中开头的空格
-c,检查指定文件是否已做好排序,
-d,在关键字中只考虑[a-zA-Z0-9]
-f,忽略字符大小写
-r,逆序排序
-k #,以指定字段#为标准排序
-t DELIMITER: 字段分隔符
-n,以数值大小进行排序
-u,uniq,排序后去重
连续且完全相同为重复
-o file,将排序后的结果写入到file中,不是标准输出。
-m,合并已经排序好的文件
sort示例
1、对/etc/passwd文件的后6行,以“:”为分隔符,第三段内容,以数字进行逆向排序
[root@mgr1 els]# tail -4 /etc/passwd|sort -rnk 3 -t:
finspre:x:1009:1009::/data/finspre:/bin/bash
test1:x:1008:1008::/data/test1:/bin/bash
test:x:1007:1007::/home/test:/bin/bash
nginx:x:1006:1006::/home/nginx:/sbin/nologin
uniq
简介
uniq用来删除排序文件中的重复行
uniq语法合适
uniq [option] [input [output]]
uniq常用选项
-c,--count,在行首显示每行重复出现的次数
-d,--repeated,仅显示重复的行
-D,--all-repeated,显示全部重复的行
-f,--skip-fields=N,不比较起始的N栏(相当于列的概念)
-i,--ignore-case,比较是忽略大小写
-s,--skip-chars=N,不比较起初的N个字符
-u,--unique,仅显示不曾重复的行
-w,--check-chars=N,每行中比较不超过N个字符
-N,同 -f N
+N,同 -s N
示例
示例数据
[root@mgr1 els]# more a
aa
bb
aa
aaa
aaa
aa
aa
aaa
cc
bbb
c
bbb
bb
bbb
bbb
bbb
bbb
ccc
1、统计文件中各行内容重复的次数(此处的重复实际是指连续且内容完全相同,才代表重复,若内容相同,但不是连续出现,不被认为是重复)
[root@mgr1 els]# cat a|sort |uniq -c
4 aa
3 aaa
2 bb
6 bbb
2、仅显示文件中存在重复的行
[root@mgr1 els]# cat a |uniq -d
aaa
aa
bbb
bbb
3、显示文件中所有存在重复的行
[root@mgr1 els]# cat a |uniq -D
aaa
aaa
aa
aa
bbb
bbb
bbb
bbb
4、显示文件中不存在重复的行(此处的重复实际是指连续且内容完全相同,才代表重复,若内容相同,但不是连续出现,不被认为是重复)
[root@mgr1 els]# cat a |uniq -u
aa
bb
aa
aaa
cc
bbb
c
bbb
bb
ccc