欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何从文本中截取自己想有得数据并去重,统计,排序

程序员文章站 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 }'