Я предполагаю, что нашел причину почему.
Если я поместил некоторый пробел после того, как имя файла, имя файла с конечными пробелами ищется. Я могу воспроизвести проблему этот путь:
Источники:
cat q.dat
Q
Not q
And Q again
And again not
cat kuh.dat
Die dumme
Kuh
Рабочий пример с именем файла 'kuh.dat':
sed '/Q/{
s/Q//g
r kuh.dat
}' q.dat
Die dumme
Kuh
Not q
And again
Die dumme
Kuh
And again not
Теперь провальный пример, с 'kuh.dat'.
sed '/Q/{
s/Q//g
r kuh.dat
}' q.dat
Not q
And again
And again not
Так как имя файла не заключается в кавычки, это - большое удивление для меня, что пробел в конце имени файла распознан. И это не видимо в оболочке, таким образом, я искал в течение долгого времени без успеха, где различие между этими двумя примерами.
wget -r -O - $SITE | scanningProgram
будет работать, пока Вы не заботитесь об именах файлов, dirnames, путях, и т.д.
Вот пример
wget -r -O - http://ginatrapani.googlepages.com | sed 's/./X/g'
весь outout от этого сайта преобразовывается в X символов
использование-r или-p с-O не может работать, как Вы ожидаете: Wget только загрузит первый файл на файл и затем загрузит остальных на их нормальные имена: все загруженное содержание будет помещено в file.try wget \-рекурсивный \-необходимое страницы \-расширение HTML \-преобразовывать-ссылки \-restrict-file-names=windows \-домены website.org \-без родителей \$SITE
Для кого-либо находящего эту тему путем поиска, как я сделал (после полутора лет), я нашел, что завихрение направляет к stdout по умолчанию, тогда как wget, кажется, не был предназначен для того использования. Таким образом, мое решение:
Используйте завихрение вместо wget.
-O /tmp/single-file-for-entire-site
или цепочка программа как в Вашемsed
пример. однако, если Вы просто делаете-O -
что означает направлять к stdout, чем он зависает после первой страницы, которая походит на ошибку у гну-wget. Спасибо так или иначе. – Tzury Bar Yochay 26.12.2011, 06:18wget -q -O /dev/stdout
работа? – Gilles 'SO- stop being evil' 27.12.2011, 01:32