scr*_*Owl 2 python regex bash awk sed
我有一个大文件~10 GB,以逗号分隔.每行以一个2字符代码开头,该代码告诉它是什么类型的行,因为每行是不同类型的事件.目前我将文件读入R,然后使用正则表达式将其拆分为基于代码的不同部分,然后将生成的对象写入平面文件.
我很好奇是否有更直接的方法来做这个(读取一行,确定行类型并将行附加到适当的平面文件(总共将有7个)),Python,bash,sed/awk等.
数据如下所示:
01,tim@bigcompany.com,20140101120000,campaign1
02,201420140101123000,123321,Xjq12090,TX
02,201420140101123000,123321,Xjq12090,AK
...
Run Code Online (Sandbox Code Playgroud)
任何建议,将不胜感激.
使用awk你可以做到:
awk -F, '{fn=$1 ".txt"; print > fn}' file
Run Code Online (Sandbox Code Playgroud)
如果要通过最终关闭所有文件句柄来保持清洁,请使用以下命令awk:
awk -F, '!($1 in files){files[$1]=$1 ".txt"} {print > files[$1]}
END {for (f in files) close(files[$f])}' file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
606 次 |
| 最近记录: |