Linux Shell 命令
(1) 操作一个文件并对文件查询行进行切分处理
grep 'xxx' xxx.txt | cut -d : -f 2(或者1-2)
(2) 操作文件进行去重并显示重复次数
grep 'xxx' xxx.txt | cut -d : -f 2 | sort | uniq -c
(3) 查看总的汇总行数
grep 'xxx' xxx.txt | cut -d : -f 2 | sort | uniq -c | wc -l
(4) awk使用进行数据换顺序
grep '获取房间' room-marr.txt | cut -d '=' -f 3,7 | awk -F '=' '{print$2,$1}' | uniq | sort -u
sort :将文本文件内容加以排序。
sort -u [file] = sort [file] | uniq (去重)
参数说明
-b 忽略每行前面开始出的空格字符
-c 检查文件是否已经按照顺序排序
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符
-f 排序时,将小写字母视为大写字母
-l 排序时,除了040至176之间的ASCII字符外,忽略其他的字符
-m 将几个排序好的文件进行合并
-M 将前面3个字符依照月份的缩写进行排序
-n 依照数值的大小排序
-o<输出文件> 讲排序后的结果存入指定的文件
-r 以相反的顺序来排序
-t<分隔字符> 指定排序时所用的栏位分割字符
+<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始兰位到结束栏位的前一栏位
--help 显示帮助
--version 显示版本信息
-u 对排序后认为相同的行只留其中一行
uniq : 检查及删除文本文件中重复出现的行列。
语法:uniq[选项] 文件
最重要参数: 默认(去重) | -d(显重) | -u(删重)
参数
-c或--count 在每列旁边显示该行重复出现的次数
-d或--repeat 仅显示重复出现的行列
-f<栏位>或--skip-fields=<栏位> 忽略比较指定的栏位
-s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符
-u或--unique 仅显示出一次的行列
-w<字符位置>或--check-chars<字符位置> 指定要比较的字符
--help 帮助信息
--version 版本信息