目录
一、sort命令
sort将文件的每一行作为一个单位相互比较,比较原则是从首字符向后依次按ASCII码进行比较,最后将它们按升序输出。(以行为单位来排序输出)
语法格式:
sort [选项] 参数
cat file | sort 选项
常用选项 | 作用 |
---|---|
-n | 按照数字进行排序(默认升序) |
-r | 反向排序(倒序) |
-u | 等同于uniq,表示相同的数据仅显示一行 |
-t | 指定字段分隔符,默认使用Tab键分隔 |
-k | 指定排序字段(不指定则默认第一个字段) |
-f | 忽略大小写,会将小写字母都转换为大写字母来进行比较 |
-b | 忽略每行前面的空格 |
-o <输出文件> | 将排序后的结果转存到指定文件中 |
(1)随手创建一个sty.txt文件并用sort命令
(2)-n,按照数字排序(默认升序)
(3)-r,倒序。默认是升序排列,加-r后是降序排列
(4)-u,合并重复行,相同数据只显示一行
(5)-t,指定分隔符。-k,指定对第几个字段进行排序。
二、uniq命令
用于报告或者忽略文件中连续的重复行,常与 sort 命令结合使用
语法格式:
uniq [选项] 参数
cat file | uniq 选项
常用选项:
(1)uniq不加选项,只会对连续的重复行进行去重
三、tr命令
tr命令常用来对来自标准输入的字符进行替换、压缩和删除
命令格式:
cat file | tr [选项] 参数
常用选项:
常用参数:
-c,保留字符集1的字符,其他字符包括换行符\n用字符集2替换
四、过滤出文件中的非空行
方法1、使用tr命令删除文件中的空行(即压缩换行符)
方法2、使用grep命令过滤非空行
五、cut命令
用于显示行中的指定部分,删除文件中指定字段
命令格式:
cut [选项] 参数
cat file | cut [选项] 参数
常用选项:
六、截取字符串的三种方法
1.${i:起始下标值:截取长度}
#i是变量,字符的下标值从0开始。例如 ${i:0:2}
2.echo $i | cut -c 1-3
#-c表示按字符截取,字符下标值从1开始,起始位置-终止位置。1是起始位置,3是终止位置。
3.expr substr $i 1 3
#下标值从1开始。1代表起始位置,3代表截取的字符长度。
七、split命令
split命令用于在Linux下将大文件拆分为若干小文件
语法格式:
split 选项 参数 原始文件 拆分后文件名前缀
常用选项:
八、eval命令
命令字前加上eval,shell会在执行命令之前扫描它两次,eval命令首先会先扫描命令行进行所有的置换,然后再执行命令,该命令适用于那些一次扫描无法实现功能的变量,该命令会对变量进行两次扫描。
[root@root ~]# a=100
[root@root ~]# b=a
[root@root ~]# eval echo $$b //先将$$b置换成$a(即\$置换成$,$b置换成a),之后执行echo $a
100
[root@root ~]# eval $b=50
[root@root ~]# echo $a
50