FTP 사이트에서 컬을 사용하여 이름이 emp*인 모든 파일을 다운로드하는 방법

FTP 사이트에서 컬을 사용하여 이름이 emp*인 모든 파일을 다운로드하는 방법

emp*와 같은 파일 이름을 가진 FTP 사이트 디렉토리에서 모든 파일을 다운로드하려면 어떻게 해야 합니까?

제안해주세요.

답변1

CentOS 6.5 FTP 미러에 대해 이 라이너를 성공적으로 테스트했지만 bash남용을 방지하기 위해 익명화했습니다.

for i in `curl -i ftp://ftp.example.com/pub/centos/6.5/updates/i386/repodata/ | awk '{print $9}' | grep ^8`; do curl -O http://ftp.eample.com/pub/centos/6.5/${i} ; done

설명하자면, 이는 FTP 서버로 이동하여 디렉토리 목록(첫 번째 컬)을 가져오고 데이터를 awk로 파이프하여 파일 이름만 반환합니다. 마지막으로 이는 요구 사항을 시뮬레이션하기 위해 숫자 8로 시작하는 파일에서만 일치하도록 grep으로 파이프됩니다 emp*.

필터링된 파일 이름은 변수가 되고 i간단한 for 루프를 사용하여 두 번째 컬 요청의 URL에 추가하여 각 파일 이름을 가져옵니다. 나는 다음 두 파일로 끝났습니다.

-rw-r--r--  1 adam  staff      362 11 Jul 13:22 819455e9f840760fcbdccf0283e4324ceabc8512f246e911d39424760ed1729e-primary.xml.gz
-rw-r--r--  1 adam  staff      360 11 Jul 13:22 8e4d3dd261375d31b35b6870e187d841633c68a400e4d11bb7234fea517cdbaa-other.xml.gz

답변2

빠진 것이 없다면 디렉토리에 CD를 넣고 "mget emp*"를 사용하기만 하면 됩니다. 모든 파일 Y/N에 응답하지 않으려면 "프롬프트" 설정(토글 명령)을 변경할 수 있습니다.

관련 정보