我正在尝试复制文件中的所有列。我的文件非常大,包含600,000列和300行制表符分隔。在这里,我只是展示了我正在尝试处理的文件的一小部分。
rs 71_1203 71_1299 71_6634
40896 3 3 4
70786 2 2 4
116950 2 2 4
5891 3 3 4
6254 3 2 4
89308 2 2 4
116953 2 2 4
116956 2 2 4
20709 3 2 4
12524 2 2 4
12603 2 2 4
21074 2 2 1
42672 2 2 4
40972 2 2 4
21727 3 2 4
22163 2 2 4
22417 2 2 4
41216 2 2 4
41374 2 2 4
现在我希望我的文件看起来像这样:
rs rs 71_1203 71_1203 71_1299 71_1299 71_6634 71_6634
40896 40896 3 3 3 3 4 4
70786 70786 2 2 2 2 4 4
116950 116950 2 2 2 2 4 4
5891 5891 3 3 3 3 4 4
6254 6254 3 3 2 2 4 4
89308 89308 2 2 2 2 4 4
116953 116953 2 2 2 2 4 4
116956 116956 2 2 2 2 4 4
20709 20709 3 3 2 2 4 4
12524 12524 2 2 2 2 4 4
12603 12603 2 2 2 2 4 4
21074 21074 2 2 2 2 1 1
42672 42672 2 2 2 2 4 4
40972 40972 2 2 2 2 4 4
21727 21727 3 3 2 2 4 4
22163 22163 2 2 2 2 4 4
22417 22417 2 2 2 2 4 4
41216 41216 2 2 2 2 4 4
41374 41374 2 2 2 2 4 4
所有列都重复。我使用awk命令实现了这一点-
awk 'BEGIN{FS=OFS="\t"} {$1 = $1 OFS $1} 1' try.txt |
awk 'BEGIN{FS=OFS="\t"} {$3 = $3 OFS $3} 1' |
awk 'BEGIN{FS=OFS="\t"} {$5 = $5 OFS $5} 1' |
awk 'BEGIN{FS=OFS="\t"} {$7 = $7 OFS $7} 1'
我知道当我们的文件很小时,这个命令很好用,但我的文件有600,000列,这种方式肯定不会起作用。
有人能帮我一下吗?这是一种简单的方法。
非常感谢你的帮助
https://stackoverflow.com/questions/54988956
复制相似问题