如果特定列中句子中的单词与另一列匹配?

If word in sentence in a particular column, match with another column?

文本文件是这样的

Year, Name. Date, rating, username, tweet

2009, John, 02/03/09, positive, @johnnyboy, Bob is my best friend 
2010, Bob, 01/09/10, positive, @Bob, Bob is cool
2010, Bob, 05/03/10, positive, @Bob, This tweet shouldn't count

我希望能够打印所有包含带有单词“Bob”的推文的日期(请记住,用户名可以是 @Bob,这是我不想要的。

所以输出应该是

02/03/09
01/09/10

到目前为止,我的尝试是:

awk -F',' '{IGNORECASE = 1} {ARGC=1} =="Bob" {print }' Data.txt

我知道明显的错误是 == 只会 return 推文只是 Bob 的日期,但我的尝试都是徒劳的,这是我最接近的可以到达。有没有其他方法可以使用 awk?

谢谢

推文栏可能包含逗号(,),不能直接使用$6:

awk -F',' '{IGNORECASE = 1} {ARGC=1} {col3=;=====""; if (/Bob/) print col3}' Data.txt
  1. col3=将第三列保存在变量col3

  2. ====="" 删除了前 5 列

  3. (/Bob/) 将其余列与正则表达式“Bob”进行比较,因为您可能会收到类似 Hi, Bob is my best friend

    的推文

也许这行得通

命令:

grep -w 'Bob' abc.txt | awk -F',' '{print }'

输出:

02/03/09
01/09/10

如果需要任何更改,让我知道可以解决它