gpt4 book ai didi

linux - 在大文件上使用 awk 计算出现次数

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:10:34 25 4
gpt4 key购买 nike

我有 2 个文件。 First 在 file2 中也存在很少的记录。文件 2 比文件 1 大。我想在文件 2 中显示单词(来自文件 1)的出现次数。

这是我尝试过的

file1.txt
bash-3.00# cat file1.txt |wc -l
17102666

more file1.txt
123advertise3
123advertise4
123advertise5
123advertiseb
123advertisec
123advertised
123advertisedebtconsolidation
123advertisee
123advertisef
123advertiseg
123advertiseh
123advertisehomaxproducts

文件2

file2.txt
bash-3.00#cat file2.txt | wc -l
113842500


more file2.txt
123123apartment
123123attorney
123123auction
123123auto
123advertisedebtconsolidation
123advertiseb
123123automate
123123automatic
123123bank
123advertisedebtconsolidation
123advertiseb
123123banking
123123bankruptcy
123advertisedebtconsolidation
123123bargain
123123best
123123blog
123advertisedebtconsolidation
123123building

我想要这样的输出

123advertisedebtconsolidation 3
123advertiseb 2

我在命令下运行

bash-3.00# nawk 'FNR==NR{c[$1];next}$1 in c{++c[$1]}END{for(i in c) print i,c[i]}' file1.txt file2.txt

但我没有得到想要的输出。

我只有字符串之类的东西

peaktablethomecsuchico
browsepropertyhomebase
clickflowershomedsn
worldwideflowerstravelagency
acepigb
acepigc
browsecompanytravelagent
liveearnhomedownpaymentassistance
acepigd
bargainsystemhomebvcure
acepige
acepigf
uniquecasinohomecycling
alternativeanyhomecanningrecipes
acepigj
annualsurveyhomedma

谁能帮我在大文件中使用 grep 或 awk 获得这样的输出。我在较小的文件上尝试了同样的操作,但效果很好。

最佳答案

uniq 命令可能是一种输出普通字符串的简单方法。 -c 选项指定输入中的匹配数。 awk 命令仅输出出现不止一次的行。

cat file1.txt file2.txt | sort | uniq -c | awk '{ if ($1 > 1) print $0; }'

关于linux - 在大文件上使用 awk 计算出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16012741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com