如何从文本中截取自己想有得数据并去重,统计,排序
程序员文章站
2022-03-11 12:04:23
...
关键的指令为:
awk为分割截取,sort为排序,uniq为去重,wc为统计,你需要单独去理解这些指令,然后通过管道进行数据传送
特别注意:
用uniq命令可以删除相邻的重复行:
uniq [file]
但如果一文本中有重复却不相邻的行则无法删除,需要结合sort命令:
sort [file]|uniq
等效的sort命令是:
sort -u [file]
去重复后统计:
sort needsort.txt |uniq |wc
语句为:
语句一:
先排序再去重
grep -rn '"字符串"' query_data.csv |awk -F" " '{ print $4 }'|awk -F "|" '{ print $4 }' | sort|uniq -c|sort
语句二:
去重并统计
grep -rn '"evo"' query_data.csv |awk -F "|" '{ print $4 }' | sort|uniq -c|sort -r|wc -l
语句三:
将文件夹下的所有文件写入同一个文件中:
for i in `ls`;do cat $i >>17-18.csv;done
语句四:
查找某文件夹下所有类型的文件重写至一个文件中
for i in `find /work/logger/prod/2018-12-09 -type f -name "*.blob"`;do cat $i >>20181208.log;done
语句五:
查询多个文本
grep 'str' /Documents/work/logger/vin分析后的数据/data.log|grep "LANGUAGE" |awk -F "," '{ print $32,$33 }' |awk -F '"' '{ print $4,$8 }'