2017-05-09 1 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> 

정말 고맙습니다. 감사드립니다. 이 순수한 텍스트 검색입니다

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

주 뒤에 grep 모습

+0

어떤 것을 시도 했습니까? 이것이 적당한'HTML' 파일이라면,'grep','awk' 또는'sed'와 같은 비 구문 인식 도구로 이것을 분석하지 마십시오. 구문 인식 파서 사용 – Inian

+0

확실히 bash로 모든 href 태그를 추출하는 방법이 있습니다. sed. s /.* href = \ "\ (. * \) \". */\ 1/"output.txt"와 같은 예제를 보았지만,이 방법이 더 까다로워 보입니다. – user1721180

답변

0

합니다. 컨텍스트를 인식하지 못합니다 (내부에 <a> 태그가 있는지 여부).

here은 명령의 설명입니다.