shell好用工具
cut
可以切割提取指定的列、字节、字符数据。是一个强大的文本处理工具;cut命令逐行读取文本,然后按列划分并进行提取、输出等操作
cut [option] filename
option | 说明 | |
---|---|---|
-f | 提取范围,按照列号 | |
-d | 自定义分隔符,默认为制表符 | |
-c | 一字符为单位进行 分割 | |
-b | 以字节为单位进行分割 | |
-n | 与-b 联用,不分割多字节字符; |
|
提取范围说明
提取范围 | 说明 |
---|---|
n- | 提取指定第n列或字符等后面的数据 |
n-m | 提取指定第n列到第m列或字符等的数据 |
-m | 提取指定到第m列或字符等的数据 |
n1,n2 | 指定枚举列 |
sed命令(stream editor 流编辑器)
编辑文件,替换文件中的单词,
编写在文件中插入或者修改sed
程序
使用sed
作为过滤器,来过滤管道命令;
可以对文件的没一行数据匹配查询后进行增删改查,一次处理一行内容,将这行放入缓冲区,然后才进行处理,处理完后将缓冲区内容发送到终端
sed [选项参数] [模式匹配/sed命令程序] [文件名]
模式匹配 ,会读取一行数据到模式空间,之后判断当前行是否符合模式匹配要求,符合要求就会执行;
sed 程序命令,否则不会执行sed程序命令;不写匹配模式,那么每一行都会执行sed程序命令
选项参数
参数 | 说明 |
---|---|
-e | 直接在sed指令模式上进行sed动作编辑 |
-i | 直接对内容进行修改 |
-f | 后为保存了sed指令的文件 |
-n | 取消默认输出,sed默认会输出所有文本内容 |
-r | 使用扩展正则表达 |
awk命令
就是把文件逐行读入,以空格为默认分隔符将每一行进行切片,切开的部分再进行各种分析处理,
awk [options] pattern{action} {filenames}
-F 可以指定输入文件的拆分分割符
-v 可以赋值一个用户定义变量
sort 命令
- 对字符串进行升序降序排序;对数字升序,降序;对多列升序降序
sort (options) 参数
-n namber 依照数值大小排序
-r reverse,以相反的顺序排序;
-t 分割字符 设置排序时用到的分割字符,默认是分隔符;
-k 指定需要排序的列;
-o 输出文件,将排队后的结果存入指定的文件
-u 去重复