linux 合并多个连续的行
linux 合并多个连续的行文件内容为:
$ cat infile.txt
aid=33
pw=3
nn=90
aid=32
pw=30
nn=70
aid=56
pw=3
nn=93
组合或合并上述文件的每三个连续行,使输出变为:
aid=33,pw=3,nn=90
aid=32,pw=30,nn=70
aid=56,pw=3,nn=93
方法一:通过awk,如果行数可以被3整除,然后放一个新行(\n)否则将逗号(,)
$ awk '{printf("%s%s", $0, (NR%3 ? "," : "\n"))}' infile.txt
aid=33,pw=3,nn=90
aid=32,pw=30,nn=70
aid=56,pw=3,nn=93
方法二:通过awk,另一种实现方式
$ awk 'NR%3{printf $0",";next;}1' infile.txt
aid=33,pw=3,nn=90
aid=32,pw=30,nn=70
aid=56,pw=3,nn=93
方法三:通过使用linux paste 命令:
$ paste -d"," - - - < infile.txt
aid=33,pw=3,nn=90
aid=32,pw=30,nn=70
aid=56,pw=3,nn=93
方法四:通过使用bash命令:
$ while read line1; do read line2; read line3; echo "$line1,$line2,$line3"; done < infile.txt
aid=33,pw=3,nn=90
aid=32,pw=30,nn=70
aid=56,pw=3,nn=93
热门日志
分类
- Django(4)
- ssdb(1)
- Mac(7)
- C(1)
- memcache(1)
- Python(32)
- Vim(8)
- sed(2)
- ansible(3)
- awk(4)
- shell(3)
- about(1)
- git(9)
- bat(4)
- svn(0)
- docker(1)
- Tornado(1)
- go(2)
- 架构(18)
- Vue(1)
- game(2)
- Html(6)
- Java(8)
- Mysql(37)
- Ajax(2)
- Jsp(1)
- Struts(8)
- Linux(72)
- JavaScript(39)
- Staruml(0)
- Mouth(1)
- Php(102)
- Windows(8)
- Message(48)
- Lua(10)
- Compute(1)
- Redis(7)
- Nginx(12)
- Jquery(1)
- Apache(1)
- cocos2d-x(8)