wget --content-disposition 'https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file'
Pobrany plik to tar
archiwum (plik binarny) udostępniane przez dynamiczny link z serwera WWW. wget
normalnie zapisuje plik przy użyciu części adresu URL, którego używasz, ale w tym przypadku jest to tylko punkt końcowy interfejsu API REST (lub coś podobnego), więc nazwa byłaby nieprzyjazna do pracy (nadal byłaby poprawna nazwa i zawartość pliku byłaby taka sama).
Jednak w tym przypadku serwer udostępnia nagłówek „Disposition Content” zawierający rzeczywistą nazwę pliku, z której wget
można skorzystać, jeśli skorzystasz z tej --content-disposition
opcji. W mojej instrukcji ta opcja jest oznaczona jako „eksperymentalna” wget
.
Musisz także zacytować adres URL, aby powłoka nie interpretowała zawartych w nim znaków &
i ?
.
Odpowiednik za pomocą curl
:
curl -J -O 'https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file'
Lub używając równoważnych długich opcji:
curl --remote-header-name --remote-name 'https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file'
Po pobraniu pliku musisz go rozpakować:
tar -xvf GSE48191_RAW.tar
Ze względu na sposób utworzenia tego konkretnego archiwum spowoduje to rozpakowanie plików archiwum do bieżącego katalogu (więc utworzenie nowego katalogu, przeniesienie tam archiwum i rozpakowanie może być dobrym pomysłem). Pliki w tym archiwum są gzip
-compressed CEL
plików.