2012-02-15 45 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