即时尝试处理csv并使其更容易排序,我需要从中删除时间和短划线。该文件包含以下条目:
James,07/20/2009-14:40:11
Steve,08/06/2006-02:34:37
John,11/03/2008-12:12:34
并将其解析为:
James,07/20/2009
Steve,08/06/2006
John,11/03/2008
我猜猜sed是这项工作的合适工具吗?
感谢您的帮助。
答案 0 :(得分:1)
cut -d '-' -f 1 file
评论后编辑:
sed 's/-[0-9][0-9]:[0-9][0-9]:[0-9][0-9]//g' file
答案 1 :(得分:1)
的Python
import csv
import datetime
rdr = csv.reader( open("someFile.csv", "rb" ) )
rows = list( reader )
rdr.close()
def byDateTime( aRow ):
return return datetime.datetime.strptime( aRow[1], "%m/%d/%Y-%H:%M:%S" )
rows.sort( key= byDateTime )
wtr = csv.writer( open("sortedFile.csv", "wb" ) )
wtr.writerows( rows )
wtr.close()
答案 2 :(得分:0)
只需使用awk
awk -F"," '{ split($2,_,"-"); print $1,_[1] }' OFS="," file
答案 3 :(得分:0)
是的,我认为sed是这项工作的正确工具:
sed 's/-[:0-9]*$//' file