linux常用命令-wc,cut,sort,uniq

it2024-10-29  7

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
最新回复(0)