2017-08-07 21 views
-2

入力ファイル:ここperlスクリプトやコマンドラインを使って特定のパターンと一致するファイルの行を削除する方法は?

### 
Hi 
I am Jack 
I live in London 
#### 
I am James 
I live in Germany 
#### 

私は「ジャック」を検索し、ハッシュ間のすべてを削除したいです。

予想される出力:

### 
I am James 
I live in Germany 
#### 
+0

@ PerlDuck入力が壊れた方法で表示されました。それはうまくいかないでしょう。 – simbabque

+3

あなた自身で何か試しましたか?あなたはどこに苦しんでいますか? – simbabque

+0

@simbabqueなぜそれが壊れていたと思いますか?これで、以前は1行しかなかった3行を作成しました。あなたはそれを別の問題に変更しました。 – PerlDuck

答えて

3

秘密は、あなたが探している「チャンク」を定義するために$/を使用することです。

#!/usr/bin/perl 

use strict; 
use warnings; 

local $/ = '###'; 

while (<DATA>) { 
    print unless /Jack/; 
} 

__DATA__ 
### 
Hi 
I am Jack 
I live in London 
#### 
I am James 
I live in Germany 
#### 
関連する問題