2012-03-14 6 views
1

可能性のある問題をリストアップしたテキストファイルがあります。常にURLで始まり、Resultとエラーコードがあればそれで終わります。私がしたいのは、txtファイルを通過し、すべてのError:404 Not Foundブロックのテキストを取得し、それらをすべて別のテキストファイルに出力することです。私はこれが見つかりました:私は本当にしたいのは何... 200 OK:正規表現の真の逆です

awk '/URL/,/404 Not Found/' text.txt > only404.txt

を問題は、それがURLを見つけ、それが404に以下の場合にも有効ですが含まれることになるが見つかりませんでしたされるまで探して停止していますdoは404 Not Foundを検索し、それがURLに到達するまでそれ自身をリバースします。その後、それは動作します。何か案は?

URL //fonts.googleapis.com/css?family=Lato:300,400,400italic,700' 
    Parent URL http://example.com, line 12, col 1 
    Real URL http://fonts.googleapis.com/css?family=Lato:300,400,400italic,700 
    Check time 1.863 seconds 
    Warning Access denied by robots.txt, skipping content checks. 
    Result  Valid: 200 OK 

    URL `/image.png' 
    Parent URL http://example.com/styles.css, line 1380, col 17 
    Real URL http://example.com/image.png 
    Check time 0.443 seconds 
    Size  1KB 
    Result  Error: 404 Not Found 

答えて

3

これはあなたのために働く可能性があります

awk -v RS="" '/404 Not Found/' yourFile 

テスト:これは何をしたいのですか?

kent$ cat t 
    URL //fonts.googleapis.com/css?family=Lato:300,400,400italic,700' 
    Parent URL http://example.com, line 12, col 1 
    Real URL http://fonts.googleapis.com/css?family=Lato:300,400,400italic,700 
    Check time 1.863 seconds 
    Warning Access denied by robots.txt, skipping content checks. 
    Result  Valid: 200 OK 

    URL `/image.png' 
    Parent URL http://example.com/styles.css, line 1380, col 17 
    Real URL http://example.com/image.png 
    Check time 0.443 seconds 
    Size  1KB 
    Result  Error: 404 Not Found 

kent$ awk -v RS="" '/404 Not Found/' t 
    URL `/image.png' 
    Parent URL http://example.com/styles.css, line 1380, col 17 
    Real URL http://example.com/image.png 
    Check time 0.443 seconds 
    Size  1KB 
    Result  Error: 404 Not Found 
+0

動作しませんでしたありません。 – user983223

+0

@ user983223私はテストを追加しました、あなたが望むものを出力していますか? – Kent

+0

はい、うまくいきました。ありがとうございました。なぜそれが働いたのか分かりません。なぜそれをしたのか教えてくれませんか?私はawkの男を見て、次のことはしていない。 – user983223

1

これはあなたのために働くかもしれない:

sed '/^\s*URL/,/^\s*Result/{/^\s*URL/{h;d};H;/Error: 404/{g;b}};d' file 
    URL `/image.png' 
    Parent URL http://example.com/styles.css, line 1380, col 17 
    Real URL http://example.com/image.png 
    Check time 0.443 seconds 
    Size  1KB 
    Result  Error: 404 Not Found