Файлы канала загружаются wget в функцию

В самом простом сценарии, где каждое распределение имеет свой собственный раздел и все необходимое, чтобы система работала, в том разделе (у Вас нет отдельных разделов для /usr например), можно сделать это с chroot:

Я предполагаю, что Вам смонтировали разделы где-нибудь, скажем, они в /Debian и /Fedora. Настроенный a chroot среда:

sudo chroot /Debian

Это переместит Вас в /Debian, выполнение оболочки, которая думает, что Вы root и выполнение установленной системы Debian. На данном этапе можно использовать apt-get поскольку Вы обычно были бы. Когда Вы сделаны, можно возвратиться к сессии путем выполнения exit.

Это должно работать отлично на простое управление программным обеспечением, но я не выполнил бы основные обновления или изменения в важных пакетах этот путь.

2
27.12.2014, 19:22
3 ответа

Во-первых, предпочитают использование WGET -I - wget wget , потому что , потому что Скарги могут работать (последовательно) несколько wget Команды (если у вас есть много URL для извлечения), когда WGET WGET -I - будет работать только один (и, следовательно, если удаленный сервер поддерживает его, используйте то же TCP Connexion).

Список собственного Rmempty Функция бесполезна, поскольку найти. Temberty -type f -delete сделает работу (лучше).

Подводя итоги:

BASE_URL="http://www.mtgsalvation.com/forums/creativity/artwork/340782-official-digital-rendering-thread?page=$i"
wget -q -O- "$BASE_URL" | \
    sed -n '{/forum-post-body-content/,/p-comment-notes/p}' | \
    grep -Po 'src="\K[^"]+' | wget -i - -q -T 6 -t 1

find . -maxdepth 1 -empty -type f -delete

Я добавил -MaxDepth 1 , чтобы избежать проблем, если вы запустите этот скрипт в каталоге с большим количеством подкаталогов (ваш $ Home Например). Вы должны запустить этот скрипт из выделенного каталога (пусто перед запуском скрипта).

1
27.01.2020, 22:05

Использование правильного анализатора HTML в :

#!/usr/bin/env perl
use strict; use warnings;
use WWW::Mechanize;
use HTML::TreeBuilder::XPath;

my $m = WWW::Mechanize->new( autocheck => 1 );
$m->get("http://www.mtgsalvation.com/forums/creativity/artwork/340782-official-digital-rendering-thread?page=1");
my $tree = HTML::TreeBuilder::XPath->new_from_content( $m->content );
my @imgs = $tree->findvalues( '//div[@class="j-comment-body-container p-comment-body forum-post-body-content"]//img/@src' );
`wget -i - -q -T 6 -t 1 @imgs; find . -maxdepth 1 -empty -type f -delete`;
1
27.01.2020, 22:05

Попробуйте это:

rmEmpty ()
{
    if ! [ -s "$1" ]
    then
        rm "$1"
    fi
}

или даже короче:

rmEmpty() { [ -s "$1" ] || rm -f "$1"; }

тогда:

for $file in *; do
    rmEmpty "$file"
done
1
27.01.2020, 22:05

Теги

Похожие вопросы