显示grepped模式的第n个实例

所以这是我的问题。 我有一个.csv文件(Current.csv)的问题,因为在整个数据中有逗号随机放置,所以awk-ing文件不会给我一个特定types的信息,我正在寻找固定的列号。 幸运的是,我意识到这个信息总是第三个date格式(m,mm)/(d,dd)/ yy。 所以我想下面的正则expression式来显示第i行内的date:

awk -F',' '{if (NR==$i)print}' Current.csv | grep -o "[0-9]{1,2}/[0-9]{1-2}/[0-9]{1,2}" | echo 

它不显示任何东西,我完全卡住了为什么。 我想显示第三个是想把这一切都投入到:

 awk {print $3} 

关于awk的正则expression式search问题的任何想法?

采样线
“lettershere”,numbershere,“retardedbrokenquoteshere,MM / DD / YY,morestuff,MM / DD / YY,数字,MM / DD / YY

假设CSV文件是有效的(即,包含逗号的字段被引用),则应该使用实际将其parsing为CSV的内容。 以下简单的Python脚本将提取每行的第二列。

 python -c 'import csv; import sys; [sys.stdout.write(row[1]+"\n") for row in csv.reader(sys.stdin)]' 

我没有设置,所以默认为零,在任何情况下,你的意思是我而不是$我。

你需要grep -E来扩展正则expression式。

月份字段中的{1-2}应该是{1,2},而正斜杠应该用反斜杠来保护。

pipe道回声将失去任何输出,因为它不是一个filter,在任何情况下都不需要。

正如mgorven所build议的那样,使用处理csv的不同方法。