wget이 파일을 덮어 쓰도록 허용하는 방법


9

wget명령을 사용하면 호출 횟수에 관계없이 매번 로컬 파일을 덮어 쓰도록 허용 / 지시하는 방법은 무엇입니까?

http : //server/folder/file1.html 위치에서 파일을 다운로드하고 싶다고 가정 해 봅시다 .

여기에서 내가 말할 때마다 변경 되거나 이미 다운로드 된 시간 등에 관계없이 로컬 시스템에서 wget http://server/folder/file1.html이것을 file1.html덮어 쓰길 원합니다 . 내 의도 / 유스 케이스는 wget을 호출 할 때, 내가 원한다는 확신입니다. 기존 파일을 바꾸거나 덮어 씁니다.

다음 옵션을 시도했지만 각 옵션은 다른 목적으로 사용됩니다.

  1. -nc =>-클로버 없음
  2. -N => 타임 스탬프 켜기
  3. -r => 재귀 검색을 켭니다

답변:


7
wget -q http://www.whatever.com/filename.txt -O /path/filename.txt 

-q는 자동 모드이므로 명령의 출력없이 cron에 던질 수 있습니다


? wget명령을 사용하여 명시 적으로 지정하지 않고 명령을 수행하는 직접적인 옵션은 없습니다 -O filename.
Gnanam

3
wget을 사용하여 파일을 다운로드 할 때 모든 파일을 강제로 덮어 쓸 수있는 방법이없는 것 같습니다. 그러나 -N 옵션을 사용하면 최신 파일을 강제로 다운로드하고 덮어 쓸 수 있습니다. wget -N 크기 나 타임 스탬프가 변경되면 원본 파일을 덮어 씁니다.
aleroot

사실이 아니다. wget을 -q $ urlYouNeedToGrap> $ fileYouWantToOverwriteEverytime : 파일을 표준 출력 파이프를에 명령의 출력 지시
rasjani

8

이 옵션은 작동합니다

wget -N http://server/folder/file1.html

정보

-N,  --timestamping            don't re-retrieve files unless newer than
                               local.

4

사용 curl하는 대신?

curl http://server/folder/file1.html > file1.html

저는 Linux 전문가가 아닙니다. wget과 의 기본 차이점은 무엇입니까 curl? 각 명령은 특정 목적을위한 것입니다.
Gnanam

1
@Gnanam : 기본 CLI 유틸리티에서 실제로 겹칩니다. 둘 다 HTTP 연결을 만들고 결과를 디스크에 저장할 수 있습니다. 차이점을 확인하려면 daniel.haxx.se/docs/curl-vs-wget.html을 확인하십시오 . 위의 사용법은 모두 유효합니다. 이 일반 영역에는 다른 도구들도 있습니다 : curl.haxx.se/docs/comparison-table.html
Stu Thompson

이 두 링크는 ​​차이점을 이해하는 데 실제로 도움이됩니다.
Gnanam

0

디렉토리도 다운로드하지 않으면 (-x 플래그를 전달하지 않으면) 할 수 있다고 생각하지 않습니다. 파일이 무엇인지 알고 있다면 -O filename을 사용할 수 있습니다. 예를 들면 다음과 같습니다.
wget http://yourdomain.com/index.html -O index.html


0

시도하지 않은 : 아마도 당신은 함께 일할 수 있습니다 wget -r --level=0.

또 다른 가능성 : curl -O덮어 씁니다 (그러나 파일 이름을 선택하는 다른 방법을 사용합니다.


wget줄은 하위 디렉토리의 계층 구조를 생성하기 때문에 실제로 올바른 일을하지 않습니다. curl -O반면에 파일을 올바르게 다운로드하여 기존 사본을 덮어 씁니다.
sth

0

스크립트에서 wget 주위에 작은 래퍼를 넣지 않으시겠습니까?

스크립트는 모든 파일을 임시 위치로 옮긴 다음 원격 파일 / 웹 페이지를 가져올 수 있습니다.

성공하면 임시 위치에서 파일을 삭제하십시오. 실패하면 파일을 다시 이동하고 오류를 발생시킵니다.

모든 파일의 이름을 구체적으로 알지 않는 한 wget을 사용하여 원하는 것을 수행하는 간단한 방법은 없습니다.이 경우 -O 옵션을 사용하면 다운로드 한 파일의 파일 이름을 강제로 지정할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.