
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에 응답하지 않으려면 "프롬프트" 설정(토글 명령)을 변경할 수 있습니다.