如何使用shell提取多个文本中相同的内容
有一批txt文本文件,内容全是多组数字,如何比对这批文本文件,通过shell或者其他手段从中提取出同时出现在文本文件中的数字?请提供具体的解决方案!有加送分...
有一批txt文本文件,内容全是多组数字,如何比对这批文本文件,通过shell或者其他手段从中提取出同时出现在文本文件中的数字?请提供具体的解决方案!有加送分
展开
3个回答
展开全部
问题太笼统,只能有个大致思路,按如下步骤:
使用类似下面的语句将所有文件整合为一个,排序去重后统计出一个最全数字合集。
cat file1 file2 file3 ... | sort | uniq >dataset
分别统计合集中的所有数字在各文件中出现的次数
for file in file1 file2 file3 ...
do
# 分别统计dataset中每个数字在各个文件中出现的次数
# 结果以“数字 次数1 次数2 次数3 ...”的形式存入一个文件statistic
done使用awk分析statistic文件,提取所有次数均>0的数字。
awk 'BEGIN{flag=1}{for(i=2;i<=NF;i++){if($i==0) flag=0} if(flag==1) print $1}' statistic >result
最后删除中间文件dataset和statistic,只保留最终结果文件result.
要具体咨询建议加我百度hi交流或直接追问。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询