wget
파일을 원 tar
하고 명령을 사용하면 간단할 것 같지만 완료할 수 없습니다. 나는 여러 가지를 시도했습니다.
wget <url> | tar -cvz file.gz.tar -
tar -cvzf file.tar `wget <url>`
wget -qO <url> | tar -cvf file.tar
wget <url> -O - | tar
도움이 필요하세요?
답변1
정말로 파일을 원하시나요 tar
, 아니면 압축된 형식으로 파일을 다운로드하고 싶으신가요? 파일을 압축하면 (압축되지 않은) 파일이 (압축되지 않은) 아카이브로 묶이게 됩니다. 파일을 압축 파일로 다운로드하려면 다음을 사용할 수 있습니다.
wget -qO - <url>|gzip -c - > file.gz
답변2
이 방법으로는 입력 스트림을 처리할 수 없습니다. 처리할 수 있도록 설계되었습니다.문서. 설명하는 프로필을 성공적으로 생성했다면 어떤 모습일까요? 어떻게 포장을 풀겠습니까? 파일 이름은 생성할 필요가 없으며 데이터만 생성하면 됩니다.
내 생각에 가장 좋은 방법은 파일을 가져와 두 개의 개별 명령으로 압축하는 것입니다. 파일을 드라이브에 유지하지 않으려면 tar --remove-files
플래그를 사용할 수 있습니다.
wget http://example.com/filename && tar cvzf file.tgz --remove-files filename
답변3
원하는 대로 작동하지 않습니다. 파일(분명히 파일 이름 포함)을 tar에 저장해야 합니다. 다운로드한 콘텐츠 를 tar
.tar
stdin
즉, 표준 UNIX 명령을 사용하여 이를 달성할 수 있는 방법을 찾지 못했습니다. 분명히 당신은 예를 들어 python
and request
및 tarfile
모듈을 사용하여 몇 가지 내용을 직접 작성할 수 있습니다. 코딩에 능숙하다면 그리 어렵지 않을 것입니다.
그때까지 또는 사용 가능한 Unix 명령에 의존해야 하는 경우 임시 파일을 다운로드하고 파일을 벗긴 다음 삭제하는 방법을 고수해야 합니다. 파일 이름을 여러 번 지정할 필요가 없도록 변수를 사용하는 것이 좋습니다.
DOWNLOAD=<FILENAME>; wget <DOMAIN>/$DOWNLOAD && tar -cvf $DOWNLOAD.tar --remove-files $DOWNLOAD
답변4
wget -qO - <url> |gzip -c > file_name.gz
-c
표준 출력용. 이것이 >
사용됩니다. 표준 출력 라이브러리를 사용하여 파일을 wget에서 file_name.gz로 직렬화합니다.
-qO
출력 파일 보내기