加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何使用vim,sed或其他类似工具在一个大文件(100万行)中连续使用

发布时间:2020-12-16 01:23:50 所属栏目:安全 来源:网络整理
导读:我需要将每行第二行的内容移动到上面的行,以便line2的数据与line1一起,逗号或空格分隔的作品. 输入: line1line2line3line4 输出: line1 line2line3 line4 我一直在使用vim进行简单的录制,但是vim似乎崩溃了,当我告诉它做这个10万次…我在想,也许sed将是一
我需要将每行第二行的内容移动到上面的行,以便line2的数据与line1一起,逗号或空格分隔的作品.

输入:

line1
line2
line3
line4

输出:

line1 line2
line3 line4

我一直在使用vim进行简单的录制,但是vim似乎崩溃了,当我告诉它做这个10万次…我在想,也许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

HTH

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读