Написаны эти HTML страницы в достаточно стандартных манер? Если вы знаете, что вам нужно удалить первые строки X сверху и Y строк снизу, вы можете использовать следующую командную строку unix для подготовки файлов (предполагая, что, например, все они называются file01.html, file02. HTML и т.д.):
for i in file*.html; do head -n -X $i | tail +Y > $i.stripped; done
Тогда вы можете иметь стандартные заголовки и нижние колонтитулы в файлы с именем соответствующим образом и запустить команду вроде:
for i in num*.stripped; do cat header $i footer > $i.sharepoint; done
Эти две команды заменят первые рентгеновские линии файла с содержимым в файле с именем header
и последние Y строк файла с содержимым footer
и поместите их в файлы с именем file01.html.stripped.sharepoint, готовые для перемещения (и переименования).
Если это не сработает, но вы знаете, что все строки выше или ниже определенной строки текста необходимо разрезать, тогда вы можете использовать этот скрипт (вставленный в файл под названием «обрезка») для выполнения первой подготовки задача:
#!/usr/bin/perl
my $direction = shift;
my $r = shift;
my $file = shift;
open(FILE,"<",$file) or die 'could not open file ' . $file;
my $matched = 0;
while(<FILE>) {
$matched ||= m/$r/;
if ($direction eq 'before') {
next if not $matched;
} else {
last if $matched;
}
print;
}
Первый аргумент является направление вы хотите вырезать, вторая строка (в обычной форме выражения), а третье это имя файла:
Run как:
perl trim after '^STRING$' file.html
и для всех файлов:
for i in file*.html; do perl trim after '^STRING$' $i > $i.stripped_header; done
После того как ваши файлы нацелены, то вторая команда сверху, чтобы бросить на заголовке и нижний колонтитул будет все, что необходимо.
Немного длинный, но дело в том, что вы легко сможете справиться с этим с помощью небольшого сценария.
Я убежден, что в этот момент нет простого способа сделать это. Инструменты являются дорогими или недостаточно всеобъемлющими. Может быть, я построю собственный сценарий. Я думаю, однако, что я получу щедрость, чтобы увидеть, хочет ли кто-нибудь еще попытаться это сделать, ваш ответ должен быть выполнимым по цене, не превышающей 500 долларов. – tekiegreg