Error[8]: Undefined offset: 4, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我有一个6.8亿行(19gig)的文件,我需要在每一行上附加日期时间.我每晚都得到这个文件,我必须将处理它的时间添加到每行的末尾.我尝试了很多方法,包括sed / awk并将其加载到SQL数据库中,最后一列默认为当前时间戳. 我想知道是否有快速的方法来做到这一点?到目前为止,我最快的方法需要两个小时,考虑到此文件中信息的紧迫性,这个方法还不够快.这是一个平面的CSV文件. EDIT1: 这是我到目 我有一个6.8亿行(19gig)的文件,我需要在每一行上附加日期时间.我每晚都得到这个文件,我必须将处理它的时间添加到每行的末尾.我尝试了很多方法,包括sed / awk并将其加载到sql数据库中,最后一列默认为当前时间戳.

我想知道是否有快速的方法来做到这一点?到目前为止,我最快的方法需要两个小时,考虑到此文件中信息的紧迫性,这个方法还不够快.这是一个平面的CSV文件.

EDIT1:

这是我到目前为止所做的:

awk -v date="$(date +"%Y-%m-%d %r")" '{ print 
perl -ne 'chomp; printf "%s.pdf\n",$_' EXPORT.txt > testoutput.txt
","date}' lrn.ae.txt > testoutput.txt

时间= 117分钟

MysqL load data local infile '/tmp/input.txt' into table testoutput

时间= 135分钟

yes "$(date +"%Y-%m-%d %r")" | paste -d',' file - | head -n "$(wc -l < file)" > out-file

时间= 211分钟

解决方法 一个简化 mjuarez’ helpful approach的解决方案:

[+++]

请注意,与链接答案中的方法一样,您必须事先知道输入行的数量 – 这里我使用wc -l来计算它们,但如果数字是固定的,只需使用该固定数字.

> yes不断重复其参数,每个参数都在其自己的输出行上,直到它被终止.> paste -d’,’file – 在单个输出行上粘贴文件和标准输入( – )中相应的一对行,用以下内容分隔,>因为yes产生“无限”输出,所以head -n“$(wc -l< file)”确保一旦处理完所有输入行就停止处理. 管道的使用充当了内存限制,因此内存不足是一个问题.

总结

以上是内存溢出为你收集整理的awk – 将日期时间附加到6亿行文件中每行的末尾全部内容,希望文章能够帮你解决awk – 将日期时间附加到6亿行文件中每行的末尾所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
awk – 将日期时间附加到6亿行文件中每行的末尾_系统运维_内存溢出

awk – 将日期时间附加到6亿行文件中每行的末尾

awk – 将日期时间附加到6亿行文件中每行的末尾,第1张

概述我有一个6.8亿行(19gig)的文件,我需要在每一行上附加日期时间.我每晚都得到这个文件,我必须将处理它的时间添加到每行的末尾.我尝试了很多方法,包括sed / awk并将其加载到SQL数据库中,最后一列默认为当前时间戳. 我想知道是否有快速的方法来做到这一点?到目前为止,我最快的方法需要两个小时,考虑到此文件中信息的紧迫性,这个方法还不够快.这是一个平面的CSV文件. EDIT1: 这是我到目 我有一个6.8亿行(19gig)的文件,我需要在每一行上附加日期时间.我每晚都得到这个文件,我必须将处理它的时间添加到每行的末尾.我尝试了很多方法,包括sed / awk并将其加载到sql数据库中,最后一列默认为当前时间戳.

我想知道是否有快速的方法来做到这一点?到目前为止,我最快的方法需要两个小时,考虑到此文件中信息的紧迫性,这个方法还不够快.这是一个平面的CSV文件.

EDIT1:

这是我到目前为止所做的:

awk -v date="$(date +"%Y-%m-%d %r")" '{ print 
perl -ne 'chomp; printf "%s.pdf\n",$_' EXPORT.txt > testoutput.txt
","date}' lrn.ae.txt > testoutput.txt

时间= 117分钟

MysqL load data local infile '/tmp/input.txt' into table testoutput

时间= 135分钟

yes "$(date +"%Y-%m-%d %r")" | paste -d',' file - | head -n "$(wc -l < file)" > out-file

时间= 211分钟

解决方法 一个简化 mjuarez’ helpful approach的解决方案:

请注意,与链接答案中的方法一样,您必须事先知道输入行的数量 – 这里我使用wc -l来计算它们,但如果数字是固定的,只需使用该固定数字.

> yes不断重复其参数,每个参数都在其自己的输出行上,直到它被终止.> paste -d’,’file – 在单个输出行上粘贴文件和标准输入( – )中相应的一对行,用以下内容分隔,>因为yes产生“无限”输出,所以head -n“$(wc -l< file)”确保一旦处理完所有输入行就停止处理. 管道的使用充当了内存限制,因此内存不足是一个问题.

总结

以上是内存溢出为你收集整理的awk – 将日期时间附加到6亿行文件中每行的末尾全部内容,希望文章能够帮你解决awk – 将日期时间附加到6亿行文件中每行的末尾所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1027728.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存