bash – 如何从命令行将每两行合并成一行?

我有一个具有以下格式的文本文件。第一行是“KEY”,第二行是“VALUE”。
KEY 4048:1736 string
3
KEY 0:1772 string
1
KEY 4192:1349 string
1
KEY 7329:2407 string
2
KEY 0:1774 string
1

我需要在键的同一行中的值。所以输出应该看起来像这样…

KEY 4048:1736 string 3
KEY 0:1772 string 1
KEY 4192:1349 string 1
KEY 7329:2407 string 2
KEY 0:1774 string 1

它会更好,如果我可以使用一些分隔符如$或,
KEY 4048:1736 string,3

如何将两行合并成一行?

awk:
awk 'NR%2{printf "%s ",$0;next;}1' yourFile

注意,在输出结束处有一个空行。

sed:

sed 'N;s/\n/ /' yourFile

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...