另一种可能的方式(系统管理员),避免数据库和SQL查询以及运行时进程和硬件资源中的大量要求。
替代1.的是添加一个新字段TIMESTAMP,并在打印出该行后将其删除。
注意:如果1.5GB太大而无法一次整理,请使用电子邮件将其拆分为较小的卡盘。您可以在不同的机器上并行运行这些块
/usr/bin/gawk -F'","' ' {
split("JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC", month, " ");
for (i=1; i<=12; i++) mdigit[month[i]]=i;
print $0 "," mktime(substr($4,6,4) " " mdigit[substr($4,3,3)] " " substr($4,1,2) " 00 00 00"
)}' < input.txt | /usr/bin/sort -k2 -k7 -n -t, > output_file.txt
output_file.txt:
“ DF”,“ 00000000@11111.COM”,“ FLTINT1000130394756”,“ 26JUL2010”,“ B2C”,“ 6799.2”,1280102400“ DF”,“ 0001HARISH@GMAIL.COM”,“ NF252022031180”,“ 09DEC2010”,“ B2C“,” 3439“,1291852800” DF“,” 0001HARISH@GMAIL.COM“,” NF251742087846“,” 12DEC2010“,” B2C“,” 1000“,1292112000” DF“,” 0001HARISH@GMAIL.COM“,” NF251352240086”,“ 22DEC2010”,“ B2C”,“ 4006”,1292976000 …
您将输出通过管道传输到Perl,Python或AWK脚本以处理步骤2至4。