我需要在给定规则上逐行解析文件。
这是一项要求。
文件可以包含多行不同的数据..
01200344545143554145556524341232131
1120034454514355414555652434123213101200344545143554145556524341232131
2120034454514
和规则可以是这样的。
我正在寻找能够以非常长的文件大小(例如> 2 GB)快速执行此操作的任何语言。
提前感谢所有帮助。
由于
答案 0 :(得分:3)
它不会出现在您的代码列表中,但我会使用:
sed -n -e '/^0/w /tmp/record0.dat' \
-e '/^1/w /tmp/record1.dat' \
-e '/^2/w /tmp/record2.dat' "$@"
你也可以用其他语言来做,但为了简洁和可能的正确性,在这种情况下,sed
很难被击败。
答案 1 :(得分:2)
无论第一个字符的值如何,这都可以工作,因此无需添加更多规则即可进行扩展:
awk '{c=substr($0,0,1); print $0 > "/tmp/record" c ".dat"}' inputfile.dat
答案 2 :(得分:0)
awk -vFS= 'NF{print $0>"/tmp/record"$1".dat"}' file