我已经玩过grep,awk和sed了一段时间,但我对此有点困惑。
我设法获得了一个具有以下格式的文件(虚拟数据):
Datacentreone
1.1.1.1.
Datacentretwo
2.2.2.2
Google
8.8.8.8
但是我需要在单行上得到它:
Datacentreone 1.1.1.1
Datacentretwo 2.2.2.2
Google 8.8.8.8
我可以用Perl或PHP编写一些东西来为我做,但是我想知道是否可以使用命令行工具轻松地做这样的事情,或者使用BASH看起来不像是这样?
答案 0 :(得分:2)
通过GNU awk,
$ awk -v RS="\n\n" '{print $1,$2}' file
Datacentreone 1.1.1.1.
Datacentretwo 2.2.2.2
Google 8.8.8.8
此处记录分隔符设置为\n\n
即;一个空白行。这会覆盖\n
变量的默认值RS
。因此awk将一行或两行或多行视为单个记录,直到找到空行。