sort
sort命令---以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序
比较原则是从首字符向后,依次按ASCII码进行比较,最后将他们按升序输出
语法格式
sort [选项] 参数
cat file | sort 选项
常用选项
-n :按照数字进行排序
-r:反向排序
-u:等于uniq,表示相同的数据仅显示一行
-t:指定字段分隔符,默认使用[Tab]键分隔
-k:指定排序字段
-o:<输出文件>:将排序后的结果转存至指定文件
-f:忽略大小写,会将小写字母都转换为大写字母来进行比较
-b:忽略每行前面的空格
sort -n
sort -rn
sort -u 相同的数据只显示一行
t 指定分隔符 -k 指定对第几个字段排序
将结果转存至指定文件
uniq
去除连续的重复
语法格式
uniq [选项] 参数
cat file | uniq 选项
常用选项
c:进行计数,并删除文件中重复出现的行
d:仅显示连续的重复行
u:仅显示出现一次的行
uniq -c
uniq -d
uniq -u
tr
常用来对来自标准输入的字符进行替换,压缩和删除
语法格式 tr [选项] [参数]
常用选项
-c: 保留字符集1的字符,其他字符(包括换行符\n)用字符集2替换
-d: 删除所有属于字符集1的字符
-s:将重复出现的字符串压缩为一个字符,用字符串2 替换 字符串1
-t: 字符集2 替换 字符集1, 不加选项同结果
tr -c
tr -s
tr -d
tr -t
cut
cut命令---显示行中的指定部分,删除文件中指定字段
常用选项
-f:通过指定哪一个字段进行提取,cut命令使用”TAB“作为默认的字段分隔符
-d:”TAB“是默认的分隔符,使用此选项可以更改为其他分隔符
-b:截取字符串
--complement:此选项用于排除所指定的字段
--output-deliniter:更改输出内容的分隔符
1) -d 指定分隔符,-f 按字段进行截取
2)–output-delimiter,更改输出内容的分隔符。
3)–complement,排除所指定的字段。
截取字符串的常用方法
1.${i:起始下标值:截取长度}
2.echo $i | cut -c 1-3
3.expr substr $i 13
split
拆分文件 split命令用于在Linux下将大文件拆分为若干小文件。
常用选项
-l 以行数拆分
-b 一大小拆分
paste
合并文件的列
-d 把指定的间隔字符取代制表符
-s 把多行内容指定一行内容
eval
命令字前加上eval,shell会在执行命令之前扫描它两次,eval命令首先会先扫描命令行进行所有的置换,然后再执行命令,该命令适用于那些一次扫描无法实现功能的变量,该命令会对变量进行两次扫描。