Использование sed для поиска и добавления нескольких файлов с несколькими строками? - PullRequest
2 голосов
/ 27 июля 2011

Привет. Я пытаюсь добавить несколько строк кодов к паре тысяч html-файлов в каталоге (и подкаталогах). То, что я пытаюсь сделать, это добавить xxx строк кода во все html-файлы, следующие за тегом. Я пытался исследовать sed, но у меня проблемы с наличием знака / в поиске и добавлением нескольких строк кода в команду sed.

Я думаю о добавлении строк, которые я хочу добавить в текстовый файл, и использовании sed, чтобы поместить все содержимое в этот текстовый файл после тега. Очень ценю любую помощь.

Скажите, что sample.html содержит это:

<html>
<head>
</head>
<h1>Title</h1>
<body>
etc

Я хочу добавить это после элемента </h1>:

<script>
etc.
</script>
<iframe>
</iframe>

Производить это:

<html>
<head>
</head>
<h1>Title</h1>
<script>
etc.
</script>
<iframe>
</iframe>
<body>
etc

Ответы [ 2 ]

2 голосов
/ 27 июля 2011

Другое решение:

Содержимое script.sed

/<\/h1>/ {
        a\
<script>\
etc.\
</script>\
<iframe>\
</iframe>
}

Запустите как:

sed -i -f script.sed sample.html
2 голосов
/ 27 июля 2011

Предполагается, что вы хотите поместить текст после конечного тега H1, и этот конечный тег enter code here:

sed -i '/<\/h1>/r new_text.html' sample.html
...