2017-05-09 14 views
-1

最初のhref属性の値を抽出するbashスクリプトを作成します。これは相対的なリンクです。テキストファイルからのリンクの抽出

これは、最初のhrefタグの間のテキストであるため、適切な出力コードを "/ prd/amaz/prd151"にすると、ファイル内の他のすべてのコンテンツは、相対リンクのみが必要なため、削除する必要があります。

 <td style="width: 35px;">    
     <a class="productName" href="/prd/amaz/prd151" style="color: #000000;display: inline-block; overflow: hidden"> 
<font style="font-weight: bold; color: #4f88b2; margin-left: 0px; width: auto" class="product-name">Amaz Prd 151</font></a>     <br>      
<font style="font-size: 11px; color: #828585"> Product     </font>     <br> 
<a href="https://www.myhomedb.com/id=151"><div class="activatedCount withover" title="<div style='color: #0691ca; line-height: 15px; font-size: 11px;'><b>7 Smart Home DB Users<br/></b>actually own this product<br/><br/><b>Click to view their playbooks</b></div>"><span class="icon-size-16 product-category-icon-user-count"></span><span> 7</span></div></a>   </td> 

本当にありがとうございます。

ジョン

+0

何を試しましたか?これが適切な 'HTML'ファイルであれば、' grep'、 'awk'や' sed'のような非構文認識ツールでこれを解析しないでください。構文認識パーサーを使用する – Inian

+0

確かに、すべてのhrefタグをbashで抽出する方法はあります。私はsed '" s /.* href = \ "\(。* \)\"。*/\ 1/"output.txt"などの例を見てきましたが、これはもっと難解です。 – user1721180

答えて

0

これは純粋なテキスト検索であることを

grep -oPm1 '(?<= href=")[^"]+' file 

ノートの後ろgrep表情で。それは文脈を意識していません(<a>のタグ内かどうか)。

hereは、コマンドの説明です。

関連する問題