我有一個逗號分隔的文件「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