그래서분할 명령파일을 여러 부분으로 분할하겠습니다. 그러나 문제는 단 하나의 파일에만 HTML 헤더가 포함되고 단 하나의 파일에만 HTML 바닥글이 포함된다는 것입니다.
(이는 머리글/바닥글 정보가 포함된 다른 많은 파일과 관련될 수 있습니다.)
답변1
대부분의 UNIX 도구(예: split
)는 파일 형식에 독립적입니다. 특정 형식(예: HTML)을 사용하는 파일을 유효한 형식의 더 작은 파일로 분할하려면 특정 도구를 사용하십시오. HTML 분할의 경우 htmldoc
온라인에서 빠르게 찾아본 첫 번째 내용이었습니다. 이미 패키지되어 있습니다(적어도 debian, ubuntu, fedora, gentoo 등에서는...).
하다아니요sed
언젠가는 역효과를 낳을 것이기 때문에 파일에 대해 번거로운 가정을 하려면 -ish 트릭을 사용하십시오 .
답변2
먼저 소스 파일의 머리글/바닥글을 추출 및 제거한 후 분할하고 추출된 머리글/바닥글을 각 분할에 추가할 수 있습니다.
xpath
또는 를 사용하여 sed
소스 파일을 편집 할 수 있습니다 .
예를 들어 다음 명령줄은 파일의 머리글과 바닥글을 제거합니다.
$ sed -e '0,/<body>/d' -e '/<\/body>/,$d input.html
여기서 sed는 GNU 버전이고 body 태그는 자체 줄에 있는 것으로 간주됩니다.