目录
一、cut工具
1、概念
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一
2、常用参数
-b:按字节截取
-c:按字符截取,常用于中文
-d:指定以什么为分隔符截取,默认为制表符
-f:通常和-d一起
查看文件中以:分隔的第一个字符
cat a.txt |cut -d ':' -f 1
查看文件以:分隔第一和第四个字符
cat a.txt |cut -d ':' -f1,4
查看文件以:分隔第一到第四个字符
cat a.txt |cut -d ':' -f1-4
查看文件第三个字符
cat a.txt |cut -b 3
查看文件第三个字(中文)
cat a.txt |cut -c 3
二、sort工具
1、概念
是一个以行为单位对文件内容进行排序的工具,也可以根据不同的数据类型来排序。例如数据和字符的排序就不一样
2、常用参数
-t:指定分隔符,默认使用[Tab]键或空格分隔
-k:指定排序区域,哪个区间排序
-n:按照数字进行排序,默认是以文字形式排序
-u:等同于 uniq,表示相同的数据仅显示一行,注意:如果行尾有空格去重就不成功
-r:反向排序,默认是升序,-r就是降序
-o:将排序后的结果转存至指定文件
不加任何选项默认第一列升序,字母的话就是从a到z由上而下显示
sort a.txt
以冒号为分隔符,以数字大小对第四列排序(升序)
sort -n -t: -k4 a.txt
以冒号为分隔符,以数字大小对第四列排序(降序),并保存到b里
sort -nr -t: -k4 a.txt -o b.txt
去掉文件中重复的行
sort -u a.txt
三、uniq工具
1、概念
主要用于去除连续的重复行
注意:是连续的行,所以通常和sort结合使用先排序使之变成连续的行再执行去重操作,否则不连续的重复行他不能去重
2、常用参数
-c:对重复的行进行计数;
-d:仅显示重复行;
-u:仅显示出现一次的行
统计重复行的次数,不连续的重复行他不算做重复行
cat a.txt | uniq -c
按第一行字母升序,统计重复行的次数
cat a.txt | sort | uniq -c
过滤出不重复的行(重复用d)
cat a.txt | sort | uniq -u
查看登录过系统用户(去除重复,做排序)
last | awk '{print $1}' | sort | uniq | grep -v "^$" | grep -v wtmp
四、tr工具
1、概念
它可以用一个字符来替换另一个字符,或者可以完全除去一些字符,也可以用它来除去重复字符
2、常用参数
-d 删除字符
-s 删除所有重复出现的字符,只保留第一个
把文件中大写字母,全部替换成小写
cat c.txt |tr 'A-Z' 'a-z'
如果想替换单引号则需要用双引号把单引号引起来,反斜杠转义也不行
cat c.txt | tr "'" '/'
把PP删掉
cat c.txt |tr -d 'PP'
删除换行符
cat c.txt | tr -d '\n'
遇到多个回车只保留一个回车,相当于去除空行
cat c.txt | tr -s '\n'