文本处理工具命令
grep命令
全面搜索正则表达式并把行打印出来
用法:grep 【参数】【要过滤的东西】【文件】
参数:
-A num 显示要查找行包括要查找行的下num行
-B num 显示要查找行包括要查找行的上num行
-C num 显示要查找行包括要查找行的上下各num行
-i 忽略大小写查询
-l 列出文件内容符合的文件名称一般和-r一起使用,因为当查询的不是文件而是目录时要使用-r
-v 反转查找,除了要找的那行,都显示
-n 查找出来的行,他在文件中的序号
-E 能使用扩展的正则表达式
-w 只显示全字符合的列
(1)在123.txt中查询hello包含hello的下三行
(2)在123.txt中查询hello包含hello的上三行
(3)在123.txt中查询hello包含hello的上下各三行
(4)在123.txt中查询关于error的行,忽略大小写
(5)查询文件中包含error的目录路径
(6)除了hello以外的行我都要找到
(7)要查看的hello行所在行数
grep可以搭配的通配符
^ 行的开始 $ 行的末尾 . 匹配一个非换行符的字符 * 匹配0个或多个先前字符 .* 任意字符 [ ] 匹配一个指定范围的字符 [^] 匹配一个不在指定范围的字符 \ ( ..\ ) 标记匹配字符 \ < ‘\ <grep’ ,以grep开头的行 >\ ‘>\ grep’ 以grep结尾的行 x\ {m \ } x字符重复了m次 x\ {m,\ } x字符重复了至少m次 x\ {m,n\ } x字符重复了至少m次,最多n次 \w 匹配文字和数字字符 \W 匹配一个或多个非单词或数字字符 \b 单词锁定符
cut命令
截取文本的列
用法:cut 【参数】 【文件】
参数:
-d 自定义分割符,默认制表符\t
-f 与-d一起使用,指定使用显示哪个区域
-c 提取字符数量的列
(1)提取文件中1,2列的字符
(2)提取文件中2-5列的字符
(3)以空格为分隔符,提取文件中的1,2列
sort
对文件内容进行排序,默认对字母进行排序
用法:sort 【参数】文件名
参数:
-t:自定义分隔符,默认为制表符
-k:自定义对哪一个区域进行排序
-u:去除重复的行
-n:对文件的数字进行排序
-r:反向排序
例子:对文件ip地址进行去重
uniq
去除文件连续的重复行,一般跟sort命令一起使用
用法:uniq【参数】文件名
参数:
-c:显示重复行的次数
-d:只显示1次重复行
-u:只显示未重复行
-i:忽略字母大小写
-s:跳过第几个字符对其他内容进行去重
(1)显示文件内行的重复次数
(2)只显示文件内重复行
(3)只显示文件内未重复的行
(4)忽略字母大小写,并对文件去重
(5)忽略第一个字符并去重
wc
统计文件单词数,字符数,字节数,行数
用法:wc【参数】文件名
参数:
-c:统计文件内字节数
-l:统计文件内行数
-m:统计文件内字符数
-w:统计文件单词数
paste
对多个文件内容进行行合并
用法:paste【参数】文件1 文件2
参数:
-s:将文件内容行列转换
-d:自定义分隔符
tr
对文件内容进行转换,删除
用法:tr【参数】'字符串1' '字符串2'
参数:
-c:字符串2替换掉字符串1的补集
-d:删除指定字符串
-s:压缩指定字符串保留一个
(1)将文件中小写字母以外的字符替换为1
(2)将小写字母删除,此时还剩小写字母以外的,然后再取剩余内容的补集
(3)将文件内指定内容进行压缩至一个