选择大于特定条件的特定列并选择文件中提到的 grep 单词

选择大于特定条件的特定列并选择文件中提到的 grep 单词

我有一个文件 FB_Dataset.csv 仅包含 21 列,而 FB_Dataset.csv 是一个逗号分隔的文件。 FB_Dataset.csv 的总体方案如下。

在此输入图像描述

我需要提取文件中提到的“特朗普”一词(忽略大小写)以及大于 100 的点赞数(第 10 列)。最后生成一个包含 post_id(第 2 列)并排序的 like_count(第 10 列)和名称的新文件它是“trump.txt”。

我是 unix 新手,了解到如何分别提取两个条件。代码可能是grep -i -o '特朗普' FB_Dataset.csv对于第一个条件和awk '$10 > 100{print}' FB_Dataset.csv对于第二个条件。接下来我应该做什么?

谢谢

答案1

如果我理解正确的话你需要

awk -F, '/[tT]rump/ && $3>100' FB_Dataset.csv | sort -t, -k 3,3n > trump.txt

通过 搜索“王牌”和大于 100 的数字,最后根据第三列 ( ) 上的数字awk进行排序。使用逗号作为分隔符需要使用开关和。sort-k 3,3n-F,-t,

相关内容