小编Jad*_*kia的帖子

寻找有效的文件分割

假设这是我的文件:

$ cat file.txt 
A:1:i
B:2:ii
X:9:iv
Run Code Online (Sandbox Code Playgroud)

使用这样的for循环,我可以单独打印所有字段并重定向到子文件

$ for i in $(seq 1 3); do echo $i; awk -F ":" -v FL=$i '{print $FL}' file.txt > $i.out; done
Run Code Online (Sandbox Code Playgroud)

以便:

$ cat 1.out 
A
B
X

$ cat 2.out 
1
2
9

$ cat 3.out 
i
ii
iv
Run Code Online (Sandbox Code Playgroud)

问题:我必须在近70列上执行此操作,文件大小接近10 GB.它有效但速度慢.任何人都可以建议更好/更有效的拆分来处理这个大数据集.谢谢.

$ for i in $(seq 1 70); do echo $i; awk -F ":" -v FL=$i '{print $FL}' *.data > $i.out; done
Run Code Online (Sandbox Code Playgroud)

unix shell awk command-line

1
推荐指数
1
解决办法
114
查看次数

标签 统计

awk ×1

command-line ×1

shell ×1

unix ×1