我有我需要追加到每行的日期时间680万行(19gig)文件。我每天晚上都会得到这个文件,而且我必须将处理它的时间添加到每行的末尾。我已经尝试了许多方法来执行此操作,包括sed/awk并将其加载到SQL数据库中,最后一列默认为当前时间戳。追加日期时间每行的末尾在一个600万行的文件
我在想,如果有一个快速的方法来做到这一点?目前为止我最快的方法需要两个小时,考虑到这个文件中信息的紧迫性,这个速度还不够快。这是一个平面的CSV文件。
EDIT1:
这是我到目前为止已经完成:
awk -v date="$(date +"%Y-%m-%d %r")" '{ print $0","date}' lrn.ae.txt > testoutput.txt
时间=117分钟
perl -ne 'chomp; printf "%s.pdf\n", $_' EXPORT.txt > testoutput.txt
时间=135分钟
mysql load data local infile '/tmp/input.txt' into table testoutput
时间= 211分钟
你说你*已经尝试了很多方法来做到这一点,包括sed/awk *。通过展示这些方式,或许你会得到一些优化建议 – RomanPerekhrest
不仅要展示你已经尝试过的方式,还必须列出每个阻碍你使用它的具体缺点。 –
'我每天晚上都会得到这个文件' - 不能让你在生成时添加时间戳吗?假设答案是“否”,那么[编辑]你的问题以向我们展示你'迄今为止最快的方式'是什么,这样我们可以帮助你弄清楚它有什么问题。还包括简洁的,可测试的样本输入和预期的输出,因为并非所有的CSV都是相同的,所以我们需要知道你的样子(它可以包含字段内的逗号,它是否在字段周围使用双引号,是否在字段中转义引号通过反斜杠或加倍,字段可以包含换行符等)。 –