2012-02-15 46 views
1

如何连接两条线awk或sed?博科alishow合并两条连续线awk sed

例如,我有数据象下面这样:

abcd 
12:12:12:12:12:12:12:12 
efgh001_01 
45:45:45:45:45:45:45:45 
ijkl7464746 
78:78:78:78:78:78:78:78 

,我需要像下面的输出:

abcd 12:12:12:12:12:12:12:12 
efgh001_01 45:45:45:45:45:45:45:45 
ijkl7464746 78:78:78:78:78:78:78:78 

运行这个差不多的作品,但我需要的空间或标签:

awk '!(NR%2){print$0p}{p=$0}' 

回答

1

你几乎在那里:

awk '(NR % 2 == 0) {print p, $0} {p = $0}' 
+1

或'的awk' '(NR%2){打印$ 0" “P} {P = $ 0}!' – core1024 2012-02-15 14:01:35

+0

这么近......猫阿里| awk'(NR%2 == 0){print p,$ 0} {p = $ 0}' AIT001 10:00:00:00:c9:82:4c:f2 AIT004 21:00:00:e0:8b: 91:35:14 AIXNIM_A 10:00:00:00:c9:31:3a:ef AMS1000_CTL1_B 50:06:0e:80:10:09:c5:35 AMS2500PROD_CL0A_EXTERNAL 50:06:0e:80:10 :0a:d6:a0 AMS2500PROD_CL1A_EXTERNAL 50:06:0e:80:10:0a:d6:a8 C1B01 21:00:00:09:6b:36:d0:7a C1B02 21:00:00:09:6b :36:ba:c8 C1B04 21:00:00:09:6b:36:ba:ea – 2012-02-15 14:05:40

+0

我想我遇到的问题是当我在交换机上运行alishow时出现以下情况:AIT001 10:00:00 :00:c9:82:4c:f2 AIT004 21:00:00:e0:8b:91:35:14 AIXNIM_A 10:00:00:00:c9:31:3a:ef 如果我做od -a上e文件,我看到以下组合: – 2012-02-15 14:14:43

1

使用sed你可以做如下:

sed -n 'N;s/\n/ /p' file 

其中:

  • N读取下一行
  • s更换新行字符用空间来加入两条线
  • p打印结果
0

这可能会为你工作:

sed '$!N;s/\n/ /' file 

或本:

paste -sd' \n' file