Скрипт bash / awk извлекает метаданные html, необходимо удалить пробелы и записать в файл - PullRequest
0 голосов
/ 14 августа 2011

У меня есть каталог html-файлов, любезно предоставленный wget, и мне нужно извлечь тег заголовка и все метаданные из каждого файла - но отдельно, чтобы я мог скопировать / вставить в электронную таблицу (хорошо, если бы я был лучшесценарии это не будет требованием).У меня есть сценарий с двумя проблемами - он производит много лишних пробелов при извлечении, и когда я пытался записать его в файл, размер файла составлял 600 ГБ (без шуток, хорошо, я перенаправил его на свой внешний),Я открыт для любого решения, присущего * NIX.TIA за любую помощь.

    #!/bin/bash
for LINE in `cat htmllist.txt`
do
   awk 'BEGIN{IGNORECASE=1;FS="<title>|</title>";RS=EOF} {print $2}' $LINE
done

1 Ответ

0 голосов
/ 14 августа 2011

Прежде всего, вы должны избавиться от всех строк только с пробелами. Вы можете сделать это с помощью awk следующим образом:

cat <file> | awk '{ if (NF > 0) printf("%s\n", $0); }'

В вашем случае вы можете просто передать последнюю команду awk в эту. Вы также можете избавиться от нескольких пробелов подряд, используя awk. Так как они являются разделителями по умолчанию, вы можете сделать это:

cat <file> | awk '{
                    for (i = 1; i <= NF; i++) {
                         printf("%s ", i);
                    }
                    printf("\n");
             }'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...