bash - How to get a data range in a million rows dataset -
i have got file millions of rows has next pattern
01/02/1991,0931,7.13,7.13,7.13,7.13,8000 01/02/1991,0932,7.14,7.14,7.14,7.14,8000 01/02/1991,0935,7.16,7.16,7.16,7.16,3200 01/02/1991,0938,7.16,7.17,7.16,7.17,19200 01/02/1991,0941,7.19,7.19,7.19,7.19,200000 01/02/1991,0956,7.19,7.19,7.19,7.19,8800 the date format mm/dd/yyyy. how can info range between 01/01/2002 , 08/31/2008 , delete other lines? dates 01/01/2002 , 08/31/2008 may not in file.
i in bash
head file:
01/02/1991,0931,7.13,7.13,7.13,7.13,83200^m$ 01/02/1991,0932,7.14,7.14,7.14,7.14,8000^m$ 01/02/1991,0935,7.16,7.16,7.16,7.16,3200^m$ 01/02/1991,0938,7.16,7.17,7.16,7.17,19200^m$ 01/02/1991,0941,7.19,7.19,7.19,7.19,200000^m$ 01/02/1991,0956,7.19,7.19,7.19,7.19,8800^m$ 01/02/1991,0957,7.20,7.20,7.20,7.20,13600^m$ 01/02/1991,0958,7.22,7.22,7.22,7.22,5600^m$ 01/02/1991,1003,7.22,7.23,7.22,7.23,8000^m$ 01/02/1991,1006,7.23,7.23,7.23,7.23,10400^m$
using awk can do:
awk -f, '$1=="01/02/2002"{p=1} $1=="01/08/2008"{p=2} $1!="01/08/2008" && p==2{exit} p' dataset.txt bash text awk sed grep
No comments:
Post a Comment