2017-05-18 20 views
2

grepを二重引用符で囲んでイメージにマッチさせる方法は?grepを使用してhtmlファイルからsrc属性を取得

$ cat final.html | grep -Po 'src=\".*?\"' 
src="Remix-OS-Download-Option.png" 
src="VMSetup1.png" 
src="VMSetup2.png" 
src="VMSetup3_001.png" 
src="VMSetup4.png" 
src="VMSetup5.png" 
src="VMSetup6.png" 

期待される結果:

Remix-OS-Download-Option.png 
VMSetup1.png 
... 
VMSetup6.png 
+1

'cat'を使う必要はありません...' grep -Po 'regexp' file'を使ってください...そしてhtml/xmlパーサーを使うと正規表現を使うよりも良いでしょう。 – Sundeep

+1

あなたは正しいと思いますすべてを処理する習慣を開発しました。確かにhtml/xmlパーサーを使用する方が良いですが、これは簡単なハックだけでした。 – pouya

答えて

2

は、これが役に立つことを願っています。私たちはここにPerlの正規表現を使用しているとして、あなたがしてデモhere

パイプあなたのコマンドを確認することができます。grep -Po '="\K[^"]+'

正規表現:="\K[^"]+

1.="\Kこれは="に一致し、 \Kは現在の一致をリセットします。

2.[^"]+試合を除くすべて"

完全なコマンドは:

オプションcat final.html | grep -Po 'src=\".*?\"' | grep -Po '="\K[^"]+'

あなたはこれを試すことができます1:cat final.html | grep -Po 'src="\K[^"]+'

+0

@pouya私の投稿があなたを助けてくれることを願っています。 –

+2

'\ K' ++をうまく使います。 2つの 'grep'の代わりに、' grep'という単一の 'grep'で' ... | grep -oP 'src = "\ K [^"] +' ' – anubhava

+2

@anubhavaはい、あなたは正しいです、私は同様に投稿でこれを提案しなければなりません。ありがとう.. –

関連する問題