gpt4 book ai didi

vim - 如何使用vim,sed或其他类似工具将大文件(100万行)中的成对连续行连接起来?

转载 作者:行者123 更新时间:2023-12-03 15:06:41 25 4
gpt4 key购买 nike

我需要将第二行的内容上移至上一行,以使line2的数据与line1的数据并排,无论是逗号还是空格分隔的作品。

输入:

line1
line2
line3
line4


输出:

line1 line2
line3 line4


我一直在用简单的录音在vim中进行操作,但是当我告诉它做10万次时,vim似乎崩溃了……我在想sed可能是一个不错的选择,但不确定如何做我想做的事情还是有更好的选择?

每行只包含1个数值,我只有一百万行...

最佳答案

如果我理解正确,那么您有:

line1 
line2
line3
line4
...


而你想要:

line1<SEP>line2
line3<SEP>line4


那么您可以使用 (g)awk轻松地做到这一点:

awk 'NR % 2 == 1 { o=$0 ; next } { print o "<sep>" $0 }' INPUTFILE


See it in action here

更新:如果行数为奇数,则上面的代码将省略最后一行(如Martin Stettner所指出的),因此不会:

awk 'NR % 2 == 1 { o=$0 ; next } { print o "<sep>" $0 } END { if ( NR % 2 == 1 ) { print o } }' INPUTFILE


高温超导

关于vim - 如何使用vim,sed或其他类似工具将大文件(100万行)中的成对连续行连接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8545538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com