pwget — online w chmurze

Jest to polecenie pwget, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z wielu naszych bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


pwget — program do pobierania adresów internetowych w Perlu

STRESZCZENIE


pwget http://example.com/ [URL...]
pwget --config $HOME/config/pwget.conf --Tag linux --Tag emacs ..
pwget --verbose --overwrite http://example.com/
pwget --verbose --overwrite --Wyjście ~/reż./ http://example.com/
pwget --nowy --nadpisz http://example.com/package-1.1.tar.gz

OPIS


Automatyzuj okresowe pobieranie plików i pakietów.

Jeśli okresowo pobierasz najnowsze wersje pewnych bloków programu, to jest to Perl
skrypt dla ciebie. Uruchamiaj z zadania cron lub raz w tygodniu, aby przesyłać najnowsze wersje plików
sieć. Notatka:

wget oraz to program
W tym momencie możesz się zastanawiać, gdzie i kiedy potrzebujesz tego programu Perla wget(1)
Program C jest standardem od wieków. Cóż, 1) Perl jest wieloplatformowy i łatwiejszy
rozszerzalny 2) Możesz zapisać kryteria pobierania plików do pliku konfiguracyjnego i użyć perla
regularne przeglądanie wybranych pobrań 3) program może analizować strony internetowe i „wyszukiwać”
do pobrania tylko linki zgodnie z instrukcją 4) last but not least, może śledzić najnowsze
pakiety, których nazwa zmieniła się od ostatniego pobrania. Istnieją heurystyki do określania
najnowszy plik lub pakiet zgodnie ze szkieletem nazwy pliku zdefiniowanym w konfiguracji.

Ten program nie zastępuje pwget(1) ponieważ nie oferuje tak wielu opcji jak wget,
jak rekurencyjne pobieranie i porównywanie dat. Użyj wget do pobierania ad hoc i tego
narzędzie do plików, które się zmieniają (nowe wydania archiwów) lub które monitorujesz
cyklicznie.

Short wprowadzenie
To małe narzędzie umożliwia przechowywanie listy adresów URL w pliku konfiguracyjnym i
okresowo pobieraj te strony lub pliki za pomocą prostych poleceń. To narzędzie jest najlepsze
nadaje się do małych zadań wsadowych do pobierania np. najnowszych wersji plików oprogramowania. Jeśli
używasz adresu URL, który jest już na dysku, pamiętaj o podaniu opcji --przepisać w celu umożliwienia
nadpisywanie istniejących plików.

Chociaż możesz uruchomić ten program z wiersza poleceń, aby pobrać pojedyncze pliki, program ma
został zaprojektowany do używania oddzielnego pliku konfiguracyjnego za pośrednictwem --konfig opcja. W konfiguracji
plik, możesz kontrolować pobieranie za pomocą oddzielnych dyrektyw, takich jak „save:”, które mówi
zapisz plik pod inną nazwą. Najprostszy sposób na pobranie najnowszej wersji
apackage z witryny FTP to:

pwget --new --overwite --verbose
http://www.example.com/package-1.00.tar.gz

Nie przejmuj się nazwą pliku „package-1.00.tar.gz”. Najnowsza wersja, powiedzmy,
"package-3.08.tar.gz" zostanie pobrany. Opcja --Nowy nakazuje znaleźć nowszą wersję
niż podany adres URL.

Jeśli adres URL kończy się ukośnikiem, lista katalogów na zdalnym komputerze jest zapisywana do pliku:

!ścieżka!000plik-root

W zależności od zawartości tego pliku może to być index.html lub lista katalogów
używany protokół http lub ftp.

OPCJE


-DO, --regexp-zawartość REGEXP
Przeanalizuj zawartość pliku i dopasuj REGEXP. Tylko jeśli wyrażenie regularne pasuje do pliku
zawartość, a następnie pobierz plik. Ta opcja spowolni pobieranie, ponieważ plik jest
wczytywane do pamięci jako pojedyncza linia, a następnie wyszukiwane jest dopasowanie do treści.

Na przykład, aby pobrać plik Emacs lisp (.el) napisany przez Mr. Foo bez uwzględniania wielkości liter
sposób:

pwget -v -R '\.el$' -A "(?i)Autor: Pan Foo"
http://www.emacswiki.org/elisp/index.html

-DO, --tworzenie-ścieżek
Twórz ścieżki, które nie istnieją w dyrektywach „lcd:”.

Domyślnie każda dyrektywa LCD skierowana do nieistniejącego katalogu spowoduje przerwanie programu. Z
tej opcji lokalne katalogi są tworzone w razie potrzeby, co umożliwia ich ponowne utworzenie
dokładnie taka sama struktura, jak w pliku konfiguracyjnym.

-C, --konfig FILE
Tę opcję można podać wielokrotnie. Wszystkie konfiguracje są odczytywane.

Odczyt adresów URL z pliku konfiguracyjnego. Jeśli nie podano pliku konfiguracyjnego, plik wskazany przez
odczytywana jest zmienna środowiskowa. Zobacz ŚRODOWISKO.

Układ pliku konfiguracyjnego jest opisany w sekcji PLIK KONFIGURACYJNY

--chdir KATALOG
Czy chdir() do KATALOGU przed rozpoczęciem pobierania dowolnego adresu URL. To jest jak robienie:

CD KATALOG
pwget http://example.com/index.html

-D, --odpluskwić [POZIOM]
Włącz debugowanie z dodatnim numerem LEVEL. Zero oznacza brak debugowania. Ta opcja włącza się
--gadatliwy też.

-mi, --wyciąg
Rozpakuj wszystkie pliki po ich odzyskaniu. Polecenie rozpakowania typowych plików archiwów
są zdefiniowane w programie. Upewnij się, że te programy są wzdłuż ścieżki. Użytkownicy Win32 są
zachęcani do instalowania narzędzi Cygwin tam, gdzie te programy są standardem. Wspominać
do sekcji ZOBACZ TEŻ.

.tar => smoła
.tgz => tar + gzip
.gz => gzip
.bz2 => bzip2
.zip => rozpakuj

-F, --zapora sieciowa FIREWALL
Podczas uzyskiwania dostępu do plików za pośrednictwem protokołu ftp:// należy używać zapory ogniowej.

-H, --help
Wydrukuj stronę pomocy w tekście.

--pomoc-html
Wydrukuj stronę pomocy w formacie HTML.

--pomoc-człowiek
Wydrukuj stronę pomocy w formacie strony podręcznika systemu Unix. Chcesz przekazać to wyjście do c
-man>, aby go przeczytać.

Wydrukuj stronę pomocy.

-M, --lustro TEREN
Jeśli adres URL wskazuje na obszar pobierania Sourcefoge, użyj kopii lustrzanej SITE do pobrania.
Alternatywnie pełny pełny adres URL może zawierać informacje o kopii lustrzanej. I przykład:

--Mirror Kent http://downloads.sourceforge.net/foo/foo-1.0.0.tar.gz

-N, --Nowy
Pobierz najnowszy plik. Dotyczy to plików danych, które nie mają rozszerzenia .asp ani .html.
Kiedy ogłaszane są nowe wydania, numer wersji w nazwie pliku zwykle mówi, która jest
obecny, więc pobieranie zakodowanego pliku z:

pwget -o -v http://example.com/dir/program-1.3.tar.gz

nie jest zwykle praktyczne z punktu widzenia automatyzacji. Dodawanie --Nowy opcja do
wiersz poleceń powoduje podwójne przejście: a) całość http://example.com/dir/ jest badany pod kątem
wszystkie pliki i b) pliki pasujące w przybliżeniu do nazwy pliku program-1.3.tar.gz są
jest sprawdzany, sortowany heurystycznie i pobierany jest plik z najnowszym numerem wersji.

--bez-lcd
Ignoruj ​​​​dyrektywy „lcd:” w pliku konfiguracyjnym.

W pliku konfiguracyjnym wszystkie dyrektywy „lcd:” są przestrzegane tak, jak są widoczne. Ale jeśli
chcesz pobrać adres URL do bieżącego katalogu, pamiętaj o podaniu tej opcji.
W przeciwnym razie plik zakończy się na wskaźniku katalogu przez „lcd:”.

--nie-zapisz
Ignoruj ​​​​dyrektywy „save:” w pliku konfiguracyjnym. Jeśli adresy URL mają opcje „zapisz:”,
są ignorowane podczas pobierania. Zwykle chcesz łączyć --bez-lcd w --nie-zapisz

--bez-wyciągu
Ignoruj ​​​​dyrektywy „x:” w pliku konfiguracyjnym.

-O, --wyjście DIR
Przed pobraniem jakichkolwiek plików, wykonaj chdir do DIR.

-o, --przepisać
Zezwalaj na zastępowanie istniejących plików podczas pobierania adresów URL. Połącz to z
--pomiń wersję jeśli okresowo aktualizujesz pliki.

--pełnomocnik PROXY
Użyj serwera PROXY dla HTTP. (Widzieć --Zapora sieciowa dla FTP). Numer portu jest opcjonalny w
telefon:

--pełnomocnik http://example.com.proxy.com
--proxy przykład.com.proxy.com:8080

-P, prefix PREFIKSÓW
Dodaj PREFIKS do wszystkich pobieranych plików.

-P, --przyrostek PRZYROSTEK
Dodaj POSTFIX do wszystkich pobieranych plików.

-D, --prefiks-data
Dodaj przedrostek iso8601 ":YYYY-MM-DD" do wszystkich pobieranych plików. Jest to dodawane przed możliwym
--prefiks-www or prefix.

-W, --prefiks-www
Zwykle pliki są przechowywane pod tą samą nazwą, co w katalogu URL, ale jeśli je odzyskasz
plików o identycznych nazwach, możesz przechowywać każdą stronę osobno, aby plik
nazwa jest poprzedzona nazwą witryny.

http://example.com/page.html --> przyklad.com::strona.html
http://example2.com/page.html --> przyklad2.com::strona.html

-R, --wyrażenie regularne REGEXP
Pobierz pasujące pliki w witrynie docelowego adresu URL. To jest jak „Połącz z adresem URL
i pobierz wszystkie pliki pasujące do REGEXP”. Tutaj wszystkie skompresowane pliki gzip znajdują się z HTTP
katalog serwera:

pwget -v -R "\.gz" http://example.com/archive/

-R, --config-regexp REGEXP
Pobierz adresy URL pasujące do REGEXP z pliku konfiguracyjnego. To anuluje --Etykietka opcje
wiersz poleceń.

-tak, --Autotest
Przeprowadź kilka testów wewnętrznych. Tylko dla opiekuna lub programisty.

--spać SEKUNDY
Uśpij SEKUNDY przed następnym żądaniem adresu URL. Podczas korzystania z plików do pobrania opartych na wyrażeniach regularnych, które mogą
zwracają wiele trafień, niektóre witryny odrzucają kolejne żądania w krótkim czasie
czas. Ta opcja sprawia, że ​​program jest uśpiony na określoną liczbę SEKUND pomiędzy kolejnymi pobraniami
pokonać „Usługa niedostępna”.

-- stdout
Pobierz adres URL i zapisz na stdout.

--pomiń wersję
Nie pobieraj plików, które mają numer wersji i które już znajdują się na dysku.
Załóżmy, że masz te pliki i używasz option --pomiń wersję:

pakiet.tar.gz
plik-1.1.tar.gz

Pobierany jest tylko plik.txt, ponieważ plik-1.1.tar.gz zawiera numer wersji i rozszerzenie
plik nie zmienił się od ostatniego pobrania. Chodzi o to, że w każdym wydaniu
liczba w dystrybucji wzrasta, ale mogą istnieć dystrybucje, które tego nie robią
zawierać numer wersji. W regularnych odstępach czasu możesz chcieć ładować te pakiety
ponownie, ale pomiń wersjonowane pliki. W skrócie: ta opcja nie ma większego sensu
bez dodatkowej opcji --Nowy

Jeśli chcesz ponownie załadować wersjonowany plik, dodaj opcję --przepisać.

-T, --test, --próba
Uruchom w trybie testowym.

-T, --etykietka IMIĘ [NAZWA] ...
Wyszukaj znacznik NAZWA w pliku konfiguracyjnym i pobierz tylko wpisy zdefiniowane w tym znaczniku.
Odnosić się do --konfig FILE opis opcji. Możesz dać wiele --Etykietka przełączniki.
Połączenie tej opcji z --wyrażenie regularne nie ma sensu, a konsekwencje są
nieokreślony.

-v, --gadatliwy [NUMER]
Drukuj pełne wiadomości.

-V, --wersja
Wydrukuj informacje o wersji.

PRZYKŁADY


Pobierz pliki z serwisu:

pwget http://www.example.com/dir/package.tar.gz ..

Wyświetl plik z prawami autorskimi dla pakietu GNU make ze stron Debiana:

pwget --stdout --regexp 'prawa autorskie $' http://packages.debian.org/unstable/make

Pobierz wszystkie pliki archiwów listy mailingowej pasujące do „gz”:

pwget --regexp gz http://example.com/mailing-list/archive/download/

Odczytaj katalog i zapisz go w pliku o nazwie YYYY-MM-DD::!dir!000root-file.

pwget --prefix-date --overwrite --verbose http://www.example.com/dir/

Aby zaktualizować najnowszą wersję pakietu, ale tylko jeśli nie ma jej już na dysku. The
--Nowy opcja nakazuje znaleźć nowsze pakiety, a nazwa pliku jest używana tylko jako szkielet
plików do wyszukania:

pwget --overwrite --skip-version --new --verbose
ftp://ftp.example.com/katalog/pakiet-1.23.tar.gz

Aby nadpisać plik i dodać przedrostek daty do nazwy pliku:

pwget --prefix-date --overwrite --verbose
http://www.example.com/file.pl

--> RRRR-MM-DD::plik.pl

Aby dodać datę i przedrostek strony WWW do nazw plików:

pwget --prefix-date --prefix-www --overwrite --verbose
http://www.example.com/file.pl

--> RRRR-MM-DD::www.przyklad.com::plik.pl

Pobierz wszystkie zaktualizowane pliki w ramach aktualizacji tagów pliku konfiguracyjnego:

pwget --verbose --overwrite --skip-version --new --Aktualizacje znaczników
pwget -v -o -s -n -T aktualizacje

Pobierz pliki w miarę ich odczytu w pliku konfiguracyjnym do bieżącego katalogu, ignorując wszelkie
Dyrektywy „lcd:” i „save:”:

pwget --config $HOME/config/pwget.conf /
--no-lcd --no-save --overwrite --verbose
http://www.example.com/file.pl

Aby sprawdzić plik konfiguracyjny, uruchom program z niepasującym wyrażeniem regularnym i przeanalizuje plik
plik i sprawdza dyrektywy „lcd:” po drodze:

pwget -v -r fikcyjne wyrażenie regularne

->

pwget.DirectiveLcd: LCD [$EUSR/katalog ...]
nie jest katalogiem w /users/foo/bin/pwget linia 889.

KONFIGURACJA FILE


Komentarze
Plik konfiguracyjny NIE jest kodem Perla. Komentarze zaczynają się od znaku krzyżyka (#).

Zmienne
W tym momencie ekspansje zmiennych zdarzają się tylko w LCD:. Nie próbuj ich nigdzie używać
inaczej, jak w adresach URL.

Zmienne ścieżki dla LCD: są zdefiniowane za pomocą następującej notacji, spacje nie są dozwolone
Część VALUE (bez nazw katalogów ze spacjami). W nazwach zmiennych rozróżniana jest wielkość liter. Zmienne
zastąp zmienne środowiska o tej samej nazwie. Zmienne środowiskowe są
dostępne od zaraz.

ZMIENNA = /home/mój/katalog # zdefiniuj zmienną
VARIABLE = $dir/some/file # Użyj wcześniej zdefiniowanej zmiennej
FTP = $HOME/ftp # Użyj zmiennej środowiskowej

Prawa ręka może odnosić się do wcześniej zdefiniowanych zmiennych lub istniejącego środowiska
zmienne. Powtarzam, to nie jest kod Perla, chociaż może na to wyglądać, ale tylko kod
dozwolona składnia w pliku konfiguracyjnym. Zauważ, że po prawej stronie jest dolar>
gdy zmienna jest odwoływana, ale nie ma dolara po lewej stronie, gdy zmienna jest zdefiniowana.
Oto przykład możliwej zawartości pliku konfiguracyjnego. Tagi są hierarchiczne
zamawiane bez limitu.

Ostrzeżenie: pamiętaj, aby używać różnych nazw zmiennych w osobnych plikach dołączanych. Wszystko
zmienne są globalne.

Zawierać pliki
Istnieje możliwość dołączenia większej ilości plików konfiguracyjnych do instrukcji

WŁĄCZAĆ

W nazwie pliku możliwe są zmienne rozszerzenia. Nie ma ograniczeń, ile i jak głęboko
zawiera strukturę. Każdy plik jest dołączany tylko raz, więc można go bezpiecznie mieć
wiele włączeń do tego samego pliku. Każde dołączenie jest czytane, więc umieść najważniejsze
nadpisanie obejmuje ostatnie:

WŁĄCZAĆ # Globalny
INCLUDE <$HOME/config/pwget.conf> # HOME nadpisuje to

Specjalny znacznik „THIS” oznacza względną ścieżkę bieżącego pliku dołączanego, który go tworzy
możliwe jest włączenie kilku plików z tego samego katalogu, w którym znajduje się początkowy plik dołączania
mieszka

# Początek konfiguracji w /etc/pwget.conf

# TO = / Etc, aktualna lokalizacja
włączać

# Odnosi się do katalogu, w którym znajduje się bieżący użytkownik: plik pwd
włączać

# kończyć się

Konfiguracja filet przykład
Plik konfiguracyjny może zawierać wiele , gdzie każda dyrektywa kończy się na a
okrężnica. Użycie każdego katalogu najlepiej wyjaśnić, sprawdzając plik konfiguracyjny
poniżej i przeczytaj komentarz przy każdej dyrektywie.

# $HOME/config/pwget.conf F- Plik konfiguracyjny pwget Perla

ROOT = $HOME # zdefiniuj zmienne
KONF = $HOME/konfig
AKTUALIZACJA = $ROOT/aktualizacje
POBIERZ = $ROOT/pobierz

# Dołącz więcej plików konfiguracyjnych. Jest to możliwe
# podzielić ogromny plik na części i mieć „linux”,
# Konfiguracje „win32”, „debian”, „emacs” w oddzielnych konfiguracjach
# i zarządzalne pliki.

DOŁĄCZ <$CONF/pwget-other.conf>
DOŁĄCZ <$CONF/pwget-more.conf>

tag1: local-copies tag1: local # wiele nazw do tej kategorii

lcd: $UPDATE # dyrektywa chdir

# To jest pokazywane użytkownikowi z opcją --verbose
drukuj: Uwaga, ta witryna została przeniesiona RRRR-MM-DD, zaktualizuj swoje zakładki

plik://absolute/dir/file-1.23.tar.gz

tag1: zewnętrzny

LCD: $DOWNL

tag2: zewnętrzny-http

http://www.example.com/page.html
http://www.example.com/page.html zapisz:/katalog/katalog/page.html

tag2: zewnętrzny-ftp

ftp://ftp.com/katalog/plik.txt.gz zapisz:xx-file.txt.gz login:foo hasło:hasło x:

lcd: $HOME/pobierz/pakiet

ftp://ftp.com/dir/package-1.1.tar.gz Nowy:

tag2: pakiet-x

lcd: $DOWNL/pakiet-x

# Osoba ogłasza nowe pliki na swojej stronie głównej, pobierz wszystkie
# ogłoszonych plików. Rozpakuj wszystko (x:) i wyjmij wszystko
# istniejące katalogi (xopt:rm)

http://example.com/~foo pregexp:\.tar\.gz$ x: xopt:rm

# Koniec pliku konfiguracyjnego pwget.conf

WYKAZ OF DYREKTYWY IN KONFIGURACJA FILE


Wszystkie dyrektywy muszą znajdować się w tym samym wierszu, w którym znajduje się adres URL. Programy skanują linie i
określa wszystkie opcje podane w wierszu dla adresu URL. Dyrektywy można nadpisać poleceniem
opcje linii.

cnv: KONWERSJA
Obecnie tylko konw.:tekst jest dostępna.

Konwertuj pobraną stronę na tekst. Ta opcja zawsze wymaga albo zapisać: or Przemianować:,
ponieważ tylko te dyrektywy zmieniają nazwę pliku. Oto przykład:

http://example.com/dir/file.html cnv:zapisz tekst:plik.txt
http://example.com/dir/ pregexp:\.html cnv:text zmień nazwę:s/html/txt/

A tekst: Zamiast dyrektywy można użyć skróconej dyrektywy cnv:tekst.

cregexp:REGEXP
Pobierz plik tylko wtedy, gdy zawartość jest zgodna z REGEXP. To jest to samo co opcja
--Regexp-zawartość. W tym przykładowym wykazie katalogów znajdują się pakiety Emacs lisp (.el).
pobrane, ale tylko wtedy, gdy ich treść wskazuje, że Autorem jest Mr. Foo:

http://example.com/index.html cregexp:(?i)autor:.*Foo pregexp:\.el$

lcd: KATALOG
Ustaw lokalny katalog pobierania na DIRECTORY (chdir do niego). Wszelkie zmienne środowiskowe są
podstawiony w nazwie ścieżki. Jeśli ten znacznik zostanie znaleziony, zastępuje ustawienie --Wyjście. Jeśli
path nie jest katalogiem, zakończ z błędem. Zobacz też --Tworzenie-ścieżek oraz --bez-lcd.

login:NAZWA-LOGINU
nazwa logowania ftp. Wartość domyślna to „anonimowy”.

lustro: STRONA
Dotyczy to tylko Sourceforge, które nie zezwala na bezpośrednie pobieranie z linkami.
Odwiedź stronę główną projektu Sourceforge i zobacz, dla których serwerów lustrzanych są dostępne
ściąganie.

Przykład:

http://sourceforge.net/projects/austrumi/files/austrumi/austrumi-1.8.5/austrumi-1.8.5.iso/download nowy: lustro: kent

Nowy:
Pobierz najnowszy plik. Ta zmienna jest resetowana do wartości --Nowy po linii
obrobiony. Najnowszy oznacza, że ​​polecenie „ls” jest uruchamiane w ftp i coś w tym rodzaju
odpowiednik w „katalogach ftp” HTTP, a wszelkie pliki przypominające nazwę pliku to
zbadane, posortowane i określone heuretycznie według numeru wersji pliku
który jest najnowszy. Na przykład pliki, które mają informacje o wersji w RRRRMMDD
format najprawdopodobniej zostanie poprawnie pobrany.

Sygnatury czasowe plików nie są sprawdzane.

Jedynym wymaganiem jest to, że nazwa pliku „musi” być zgodna z uniwersalną numeracją wersji
standard:

FILE-VERSION.extension # de facto WERSJA jest zdefiniowana jako [\d.]+

plik-19990101.tar.gz # ok
plik-1999.0101.tar.gz # ok
plik-1.2.3.5.tar.gz # ok

plik1234.txt # nierozpoznany. Muszę mieć "-"
file-0.23d.tar.gz # ostrzeżenie, litery są problematyczne

Pliki, które mają jakiś alfabetyczny wskaźnik wersji na końcu WERSJI, mogą nie być
obsługiwane prawidłowo. Skontaktuj się z deweloperem i poinformuj go o de facto standardzie tzw
że pliki można odzyskiwać w bardziej inteligentny sposób.

UWAGA: W celu Nowy: dyrektywa, aby wiedzieć, jakiego rodzaju plików szukać, potrzebuje pliku
tampon pliku. Możesz użyć bezpośredniego linku do jakiejś nazwy pliku. Tutaj lokalizacja
"http://www.example.com/downloads" jest sprawdzany i używany jest szablon nazwy pliku
jako „file-1.1.tar.gz”, aby wyszukać pliki, które mogą być nowsze, np
"plik-9.1.10.tar.gz":

http://www.example.com/downloads/file-1.1.tar.gz Nowy:

Jeśli nazwa pliku pojawiła się na nazwanej stronie, użyj dyrektywy file: dla szablonu. W tym
w przypadku, gdy strona "download.html" jest sprawdzana pod kątem plików wyglądających jak "file.*tar.gz" i
wyszukiwane jest najnowsze:

http://www.example.com/project/download.html plik: plik-1.1.tar.gz nowy:

przepisać: o:
Tak samo jak włączenie --przepisać

strona:
Przeczytaj stronę internetową i zastosuj do niej polecenia. Przykład: skontaktuj się ze stroną główną i zapisz ją:

http://example.com/~foo strona: zapisz:foo-homepage.html

Aby znaleźć prawidłowe informacje ze strony, zwykle stosuje się inne dyrektywy
dostarczone, aby poprowadzić wyszukiwanie.

1) Dodanie dyrektywy „pregexp:ARCHIVE-REGEXP” pasuje do linków A HREF na stronie.

2) Dodanie dyrektywy Nowy: nakazuje znaleźć nowsze WERSJE pliku.

3) Dodanie dyrektywy „file:DOWNLOAD-FILE” mówi jakiego szablonu użyć do skonstruowania pliku
nazwa pliku do pobrania. Jest to potrzebne dla dyrektywy „new:”.

4) Dyrektywa „vregexp:VERSION-REGEXP” odpowiada dokładnej lokalizacji na stronie z
skąd pobierane są informacje o wersji. Domyślne wyrażenie regularne szuka takiej linii
mówi „Najnowsza wersja… to… NN”. Wyrażenie regularne musi zwrócić dopasowanie podrzędne 2 dla wyrażenia
numer wersji.

PRZYKŁAD

Wyszukaj nowsze pliki z listy katalogów HTTP. Sprawdź stronę
http://www.example.com/download/dir dla modelu „package-1.1.tar.gz” i znajdź nowszy
plik. Np. "package-4.7.tar.gz" zostanie pobrany.

http://www.example.com/download/dir/package-1.1.tar.gz Nowy:

PRZYKŁAD

Wyszukaj nowsze pliki z zawartości strony. Dyrektywa file: działa jako
model nazw plików, na które należy zwrócić uwagę.

http://www.example.com/project/download.html nowy: pregexp:tar.gz plik:package-1.1.tar.gz

PRZYKŁAD

Użyj dyrektywy Przemianować: aby zmienić nazwę pliku przed zapisaniem go na dysku. Tutaj
numer wersji jest dołączony do nazwy pliku actila:

plik.txt-1.1
plik.txt-1.2

Potrzebna dyrektywa byłaby następująca; wpisy zostały podzielone na osobne wiersze
dla czytelności:

http://example.com/files/
pregexp:\.el-\d
vregexp:(plik.el-([\d.]+))
plik: plik.el-1.1
Nowy:
zmień nazwę:s/-[\d.]+//

To skutecznie brzmi: „Zobacz, czy jest nowa wersja czegoś, co wygląda jak
file.el-1.1 i zapisz go pod nazwą file.el, usuwając dodatkowy numer wersji w pliku
koniec oryginalnej nazwy pliku”.

PRZYKŁAD

Kontakt absolutny strona: at http://www.example.com/package.html i wyszukaj adresy URL HREF
na pasującej stronie pregexp:. Ponadto wykonaj kolejne skanowanie i wyszukaj wersję
numer na stronie z tej pozycji, która pasuje vregexp: (dopasowanie podrzędne 2).

Po znalezieniu wszystkich elementów użyj szablonu file: aby utworzyć plik możliwy do odzyskania
używając numeru wersji znalezionego z vregexp:. Rzeczywista lokalizacja pobierania to
kombinacja strona: i HREF pregexp: Lokalizacja.

Potrzebna dyrektywa byłaby następująca; wpisy zostały podzielone na osobne wiersze
dla czytelności:

http://www.example.com/~foo/package.html
strona:
pregexp: pakiet.tar.gz
vregexp: ((?i)najnowsza.*?wersja.*?\b([\d][\d.]+).*)
plik: pakiet-1.3.tar.gz
Nowy:
x:

Przykład strony internetowej, na której miałoby zastosowanie powyższe:




Najnowsza wersja pakietu to 2.4.1 Może być
pobrane w kilku formach:

Plik tar
plik zip




W tym przykładzie załóżmy, że „package.tar.gz” jest dowiązaniem symbolicznym wskazującym na plik
plik najnowszej wersji „package-2.4.1.tar.gz”. Tak więc rzeczywista lokalizacja pobierania byłaby
byłem "http://www.example.com/~foo/download/files/package-2.4.1.tar.gz".

Dlaczego po prostu nie pobrać „package.tar.gz”? Ponieważ wtedy program nie może zdecydować, czy plik
wersja na stronie jest nowsza niż ta zapisana na dysku z poprzedniego pobrania. Z
numery wersji w nazwach plików, porównanie jest możliwe.

strona: znajdź
FIXME: Ta opcja jest przestarzała. nie używaj.

TO JEST TYLKO DLA HTTP. Użyj Użyj dyrektywy wyrażenie regularne: dla protokołów FTP.

Jest to instrukcja bardziej ogólna niż instrukcja strona: oraz vregexp: wyjaśnione powyżej.

Poinstruuj, aby pobrać każdy adres URL pasujący do strony HTML pregexp: RE. W typowej sytuacji
opiekun strony wymienia swoje oprogramowanie na stronie programistycznej. Ten przykład by
pobierz każdy plik tar.gz na stronie. Zauważ, że REGEXP jest porównywane z A
Treść linku HREF, a nie sam tekst wyświetlany na stronie:

http://www.example.com/index.html strona: znajdź pregexp:\.tar.gz$

Możesz także użyć dodatkowych wyrażenie regularne-nie: dyrektywa, jeśli chcesz wykluczyć pliki po
dotychczasowy pregexp: pasuje do linku.

http://www.example.com/index.html strona:znajdź pregexp:\.tar.gz$ regexp-no:desktop

hasło: HASŁO
Do logowania FTP. Wartość domyślna to „nikt@example.com".

pregexp: RE
Wyszukaj linki HREF na stronie pasujące do wyrażenia regularnego. Wyrażenie regularne musi
być pojedynczym słowem bez spacji. To jest niepoprawne:

pregexp:(to wyrażenie regularne )

Musi być napisane jako:

pregexp:(to\s+regexp\s)

drukuj: WIADOMOŚĆ
Wydrukuj powiązaną wiadomość dla użytkownika żądającego pasującej nazwy znacznika. Dyrektywa ta musi w
oddzielna linia wewnątrz tagu.

tag1: Linux

drukuj: ta strona pobierania została przeniesiona 2002-02-02, sprawdź swoje zakładki.
http://new.site.com/dir/file-1.1.tar.gz Nowy:

Dyrektywa „print:” dla tagu jest wyświetlana tylko wtedy, gdy użytkownik włączy tryb --verbose:

pwget -v -T linux

zmień nazwę: KOD-PERL
Zmień nazwę każdego pliku za pomocą KODU PERL. PERL-CODE musi być pełnym programem Perla bez numeru
miejsca w dowolnym miejscu. Następujące zmienne są dostępne podczas eval () kodu:

$ARG = bieżąca nazwa pliku
$url = pełny adres URL pliku
Kod musi zwracać $ARG, który jest używany jako nazwa pliku

Na przykład, jeśli strona zawiera linki do plików .html, które w rzeczywistości są plikami tekstowymi,
następująca instrukcja zmieni rozszerzenia plików:

http://example.com/dir/ strona:znajdź pregexp:\.html zmień nazwę:s/html/txt/

Możesz także wywołać funkcję „MonthToNumber($string)”, jeśli nazwa pliku zawiera zapis
nazwa miesiąca, np. <2005-February.mbox>. Funkcja zamieni nazwę na liczbę.
W ten sposób można pobrać wiele archiwów list dyskusyjnych.

# Spowoduje to pobranie archiwów listy mailingowej SA-Exim:
http://lists.merlins.org/archives/sa-exim/ pregexp:\.txt$ zmień nazwę:$ARG=miesiącToNumber($ARG)

Oto bardziej skomplikowany przykład:

http://www.contactor.se/~dast/svnusers/mbox.cgi pregexp:mbox.*\d$ zmień nazwę:my($y,$m)=($url=~/rok=(\d+).*miesiąc=(\d+)/);$ARG="$y-$m.mbox"

Rozbijmy to na części. Możesz spędzić trochę czasu z tym przykładem, ponieważ
możliwości są nieograniczone.

1. Połącz się ze stroną
http://www.contactor.se/~dast/svnusers/mbox.cgi

2. Wyszukaj na stronie adresy URL pasujące do wyrażenia regularnego „mbox.*\d$”. A
znaleziony link może pasować do hrefs w następujący sposób:
http://svn.haxx.se/users/mbox.cgi?rok=2004&miesiąc=12

3. Znaleziony link jest umieszczany w $ARG (tak samo jak $_), z którego można skorzystać
aby wyodrębnić odpowiednią nazwę skrzynki pocztowej z kodem Perla
oceniane. Wynikowa nazwa musi pojawić się w $ARG. W ten sposób kod
skutecznie wyodrębnić dwa elementy z łącza, aby utworzyć skrzynkę pocztową
Nazwa:

mój ($y, $m) = ( $url =~ /rok=(\d+).*miesiąc=(\d+)/ )
$ARG = "$y-$m.mbox"

=> 2004-12.mbox

Pamiętaj tylko, że kod Perla następujący po dyrektywie „rename:”. musi nie możesz
zawierać spacji. Wszystko musi być czytelne jako jeden ciąg.

wyrażenie regularne:WYR.REG
Pobierz wszystkie pliki w katalogu ftp pasujące do wyrażenia regularnego. Dyrektywa zapisać: jest ignorowany.

wyrażenie_regularne-nr:REGEXP
Po dopasowaniu dyrektywy „regexp:” wyklucz pliki, które pasują do dyrektywy wyrażenie regularne-
no:

Wyrażenie regularne: WYR.REG
Ta opcja jest przeznaczona do użytku interaktywnego. Pobierz wszystkie pliki z witryny HTTP lub FTP, która
dopasuj REGEXP.

zapisz: LOKALNA NAZWA PLIKU
Zapisz plik pod tą nazwą na dysku lokalnym.

tagN:NAZWA
Pliki do pobrania można pogrupować w „tagN”, dzięki czemu np. option --Tag1 zacznie się
pobieranie plików od tego momentu aż do znalezienia następnego „tag1”. Aktualnie jest
nieograniczona ilość poziomów tagów: tag1, tag2 i tag3, dzięki czemu możesz zaaranżować swój
downlods hierarchicznie w pliku konfiguracyjnym. Na przykład, aby pobrać cały system Linux
plików, które monitorujesz, dałbyś opcję --Etykietka linux. Aby pobrać tylko NT
Najnowszy plik binarny Emacsa, dałbyś opcję --Etykietka emacs-nt. Zauważ, że nie dajesz
"poziom" w opcji, program dowie się o tym później z pliku konfiguracyjnego
nazwa znacznika pasuje.

Pobieranie zatrzymuje się na następnym tagu „tego samego poziomu”. Oznacza to, że tag2 zatrzymuje się tylko na
następny tag2 lub gdy zostanie znaleziony znacznik wyższego poziomu (tag1) lub lub do końca pliku.

tag1: linux # Wszystkie downlody Linuksa w tej kategorii

tag2: sunsite tag2: inna-nazwa-dla-tego-miejsca

# Lista plików do pobrania stąd

tag2: ftp.funet.fi

# Lista plików do pobrania stąd

tag1: plik binarny emacsa

tag2: emacs-nt

tag2: xemacs-nt

tag2: emacs

tag2: xemacs

x: Wyodrębnij (rozpakuj) plik po pobraniu. Zobacz także opcję --rozpakować oraz --bez-wyciągu
plik archiwum, powiedzmy .tar.gz, zostanie wyodrębniony plik w bieżącej lokalizacji pobierania.
(patrz dyrektywa LCD:)

Procedura rozpakowywania sprawdza zawartość archiwum, aby zobaczyć, czy pakiet jest
poprawnie uformowany. De facto format archiwum to

pakiet-N.NN.tar.gz

W archiwum wszystkie pliki mają być przechowywane w odpowiednim podkatalogu z
informacje o wersji:

pakiet-N.NN/doc/README
pakiet-N.NN/doc/INSTALL
pakiet-N.NN/src/Makefile
pakiet-N.NN/src/jakiś-kod.java

„WAŻNE:” Jeśli archiwum nie ma podkatalogu dla wszystkich plików, zostanie utworzony podkatalog
jest tworzony i wszystkie elementy są pod nim rozpakowywane. Domyślna nazwa podkatalogu w
zbudowany z nazwy archiwum z aktualnym datownikiem w formacie:

pakiet-RRRR.MMDD

Jeśli nazwa archiwum zawiera coś, co wygląda jak numer wersji, plik created
katalog zostanie zbudowany z niego zamiast bieżącej daty.

pakiet-1.43.tar.gz => pakiet-1.43

XX: Jak dyrektywa x: ale rozpakuj archiwum „tak jak jest”, bez sprawdzania zawartości pliku
archiwum. Jeśli wiesz, że jest w porządku, aby archiwum nie zawierało żadnych podkatalogów,
użyj tej opcji, aby pominąć tworzenie sztucznego pakietu głównego-RRRR.MMDD.

xopt: rm
Ta opcja każe usunąć wszystkie poprzednie katalogi rozpakowywania.

Czasami wszystkie pliki w archiwum są tylko do odczytu, a rozpakowanie archiwum zajmuje drugie miejsce
po pewnym czasie wyświetli się czas

tar: package-3.9.5/.cvsignore: Nie można utworzyć pliku:
Odmowa uprawnień

tar: package-3.9.5/BUGS: Nie można utworzyć pliku:
Odmowa uprawnień

Nie jest to poważny błąd, ponieważ archiwum było już na dysku, a tar nie
nadpisać poprzednie pliki. Dobrze byłoby poinformować opiekuna archiwum, że plik
pliki mają złe uprawnienia. Zwyczajowo oczekuje się, że dystrybuowane pakiety mają
opcja zapisu dla wszystkich plików.

BŁĘDY


Oto lista możliwych komunikatów o błędach i sposobów radzenia sobie z nimi. Włączanie --odpluskwić
pomoże zrozumieć, w jaki sposób program zinterpretował plik konfiguracyjny lub linię poleceń
opcje. Zwróć szczególną uwagę na wygenerowane dane wyjściowe, ponieważ może to ujawnić, że wyrażenie regularne
dla witryny jest zbyt luźny lub zbyt ciasny.

BŁĄD {URL-TUTAJ} basen filet deskryptor
Jest to błąd „nie znaleziono pliku”. Źle napisałeś nazwę pliku. Podwójnie
sprawdź linię pliku konfiguracyjnego.

Korzystaj z pwget online za pomocą usług onworks.net



Najnowsze programy online dla systemów Linux i Windows