[Shell Script] 여러 HTML 파일에서 title 태그만 추출

 여러 HTML 파일에서 title 태그만 추출 해서 각각 다른 파일로 출력하기 


여러 html 파일에서 특정 요소만 추출하여 html 파일마다 다른 파일을 출력하고 싶을 때 사용합니다 . 


#!/bin/sh

#현재 디렉터리에 .html 파일이 대상

for htimlfile in *.html                 #1
do
    fname=$(basename $htmlfile.html)    #2


#<title> 태그 내용을 후방 참조\1로 추출 , 파일 출력

    sed -n "s/^.*<title>\(.*\)<\/title>.*$/\1/p" $htmlfile > output/${fname}.txt #3
done














이 스크립트는 현재 디렉터리 html 파일에서 <title> 태그를 추출해서 output이라는 디렉터리에 title요소를 저장하는 스크립트 입니다 . 

#1에서 HTML 파일을 순서대로 처리하는 for문을 작성합니다 . 
셸 스크립트로 디렉터리 안에 있는 파일을 순서대로 처리하려면 경로명 확장이라는 방법을 사용합니다 . 

for문 in 뒤에 *.html이라는 패턴을 넣으면 실행시 경로명 확장이 일어납니다 . 



#2에서는 우선 대상 html 파일의 파일명에서 확장자를 제거한 문자열 뒤에 임의의 확장자를 붙여서 파일명을 만들면 확장자를 바꿔서 출력하게 되는 기능을 합니다 . 

#3에서는 <title> 태그 내용을 패턴 매치로 추출해서 파일에 출력하는 처리입니다 .