![컬 명령을 사용하여 다운로드 가능한 파일의 크기를 검색하는 방법은 무엇입니까?](https://linux55.com/image/135400/%EC%BB%AC%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C%20%EA%B0%80%EB%8A%A5%ED%95%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%ED%81%AC%EA%B8%B0%EB%A5%BC%20%EA%B2%80%EC%83%89%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
컬 명령을 사용하여 "url"에서 파일을 다운로드해야 하는 것과 같은 쉘 스크립트 요구 사항이 있습니다. 파일을 다운로드하기 전에 메서드에서 동일한 파일 크기를 처리하고 싶습니다.
누구든지 도와줄 수 있나요?
답변1
-I
헤더만 검색하고 "Content-Length" 헤더를 찾으려면 이 옵션을 사용하십시오 . -L
리디렉션을 따라야 하는 경우 이 옵션을 추가하세요. 예를 들어:
$ curl -L -I https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso
HTTP/1.1 302 Found
Date: Mon, 18 Jun 2018 09:51:32 GMT
Server: Apache/2.4.29 (Unix)
Location: https://gensho.ftp.acc.umu.se/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso
Cache-Control: max-age=300
Expires: Mon, 18 Jun 2018 09:56:32 GMT
Content-Type: text/html; charset=iso-8859-1
HTTP/1.1 200 OK
Date: Mon, 18 Jun 2018 09:51:32 GMT
Server: Apache/2.4.29 (Unix)
Last-Modified: Sat, 10 Mar 2018 11:56:52 GMT
Accept-Ranges: bytes
Content-Length: 305135616
Age: 228
Content-Type: application/x-iso9660-image
이는 파일 크기가 305,135,616바이트임을 나타냅니다.
Gawk를 사용하여 필터링할 수 있습니다. 예를 들면 다음과 같습니다.
$ curl -s -L -I https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso | gawk -v IGNORECASE=1 '/^Content-Length/ { print $2 }'
305135616
(이 -s
옵션은 curl
진행 정보를 인쇄하지 않도록 지시합니다. 기본적으로 출력이 리디렉션될 때 진행 정보를 인쇄합니다.)
이 정보를 항상 사용할 수 있는 것은 아니므로 이를 처리할 수 있도록 스크립트를 준비해야 합니다.