You need to enable JavaScript to run this app. 如何修改awk命令,仅CSV文件两列不匹配时才与语料库对比输出XXX
优惠活动
大模型
产品
解决方案
定价
更多

如何修改awk命令,仅CSV文件两列不匹配时才与语料库对比输出XXX

正确修改后的awk命令
awk -F';' '          # 分隔符
NR==FNR {             # 处理stem文件
    gsub(/"/,"")      # 去除双引号
    if ($1 != $2) {   # 仅第1列和第2列不相等的记录才存入数组
        a[$2]=$1          
    }
    next
}
{
    if($1 in a)       # 如果corpus的条目在数组中存在
        print "XXX"   # 输出XXX
    else
        print $1      # 否则输出原词
}' stem.txt corpus.txt

修改说明

  • 核心改动在读取stem.txt的逻辑中增加了$1 != $2的判断,过滤掉第一列和第二列内容相同的记录,避免test这个词被存入匹配数组。
  • 你之前修改的判断逻辑不生效是因为处理corpus.txt时,每行只有1个字段,$2是空值,a[$2]不存在,判断条件永远无法命中。

内容的提问来源于stack exchange,提问作者shantanuo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 18:06:04