【问题标题】:How to get count of word occurrence at specific location in delimited file in Unix如何在 Unix 的分隔文件中获取特定位置的单词出现次数
【发布时间】:2019-01-08 05:08:12
【问题描述】:

我有管道分隔文件,我想在每条记录的第 5 位(列)检查值 'America'。 美国字也可以出现在任何其他列中,所以grep -o 没有给出正确的结果。
当文件被分隔时,还有其他方法可以检查特定位置出现的单词吗?

【问题讨论】:

  • 检查价值是什么意思?你想计算出现次数吗?您想测试“America”是否出现在任何记录中的第 5 位吗?您想在出现“美国”的第 5 个位置打印每个单元格吗?您要打印第 5 位出现“America”的每条记录吗?
  • 它有效。非常感谢
  • Armali -- 我只是想检查“America”出现在第 5 位的记录数

标签: file unix delimited


【解决方案1】:

这样的脚本可以完成工作

awk '$5="America" {print}' filename|wc -l

当然,你只能像这样使用 awk 来做到这一点:

awk 'BEGIN {i=0} $5="America" {i+=1} END {print i}' filename

要使用不同的分隔符,您可以在awk 中这样使用:

awk -F\| 'BEGIN {i=0} $5="America" {i+=1} END {print i}' filename

【讨论】:

  • cut -f11 -d '|'文件名 | grep '美国' | wc -l 这也很好用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多