2017-02-03 18 views
0

私は2行を結合しようとしていました。私のデータの 例は::私は のawk「/テスト$/{のprintf( "%sの\トンをしようとしていた::シェルスクリプトのパターンと一致するように2行を結合する方法

Output 
Hello Reach World Test Reach me Test out .i.e Only if last word matches Test and Begin matches Reach . 

としてこれを結合したいと思います

Hello Reach World Test 
Reach me Test out . 

です"、$ 0);次へ} 1 '。

誰でも私にそれを合わせて組み合わせる方法を教えてください。

+1

明確にするために?試してみてください: 'perl -0777 -pe '/ Test \ nReach/Test Reach/g;'入力 ' –

+0

これはdupかもしれません:http://stackoverflow.com/questions/1251999/how-can-i-replace-a-newline-n-using-sed –

+0

いいえ、私の入力は次の行のテストのようになります到達するには、TestとReachと一致するパターンを使用して単一の行に結合したいと思います。 – Shilpa

答えて

0

このawkスクリプトは、あなたがやりたいん:あなたはちょうどいい、「テストリーチ」と「テスト\ nReach」の出現をすべて置き換えるしようとしている

BEGIN { flag = "0"; line = "" } 
{ 
    if (flag == "1") { 
     if ($0 ~ "^Reach") 
      print line " " $0 
     else { 
      print line 
      print $0 
     } 
     line = "" 
     flag = "0" 
    } else { 
     if ($0 ~ "Test$") { 
      line = $0 
      flag = "1" 
     } else 
      print $0 
    } 
} 
関連する問題