我有一个逗号分隔的文件“myfile.csv”,其中第五列是日期/时间戳。 (mm/dd/yyyy hh:mm)。 我需要列出sort | uniq | xargs grep ...行包含空格
我使用的是bash shell通过Cygwin为WinXP的
$ cut -d, -f 5 myfile.csv | sort | uniq -d
正确返回重复日期列表包含重复日期(有很多)的所有行
01/01/2005 00:22
01/01/2005 00:37
[snip]
02/29/2009 23:54
但我无法弄清楚如何喂这给grep给我所有的行。 显然,我不能直接使用xargs
,因为输出包含空格。我认为我可以做uniq -z -d
,但由于某种原因,结合这些标志会导致uniq(显然)不会返回任何内容。
因此,考虑到
$ cut -d, -f 5 myfile.csv | sort | uniq -d -z | xargs -0 -I {} grep '{}' myfile.csv
不行......我该怎么办?
我知道我可以在perl
或其他脚本语言做到这一点......但我生性倔强坚持认为我应该能够使用标准的命令行工具来做到这一点在bash
像sort
,uniq
,find
,grep
,cut
,等
教我,哦打击大师。如何使用典型的cli工具获取我需要的行列表?
是+1。和tr'\ t'',最后如果CSV格式很重要。 – kmkaplan 2009-03-05 11:15:22