LFTP 제외 파일 확장자

LFTP 제외 파일 확장자

lftp 미러 디렉터리를 사용하려고 하는데 .mp4 및 .swf와 같은 매우 큰 파일 형식을 다운로드하고 싶지 않습니다. 하지만 정규식에 문제가 있습니다. 전역 변수를 제외하는 것처럼 보입니다. 두 사람 모두 모든 파일을 다운로드했습니다.

내가 시도한 것:

/usr/local/bin/lftp -u user,pass -e 'mirror -x ^(\.mp4|\.swf)$ $src $dest' ftp.host

&&

/usr/local/bin/lftp -u user,pass -e 'mirror -X swf $src $dest' ftp.host

답변1

첫 번째 경우 파이프(|)를 인용해야 합니다. 왜냐하면 lftp 내부에서 파이프(|)가 특수 기호이기도 하기 때문입니다(또한 src 및 dest 변수를 삽입하려면 큰따옴표를 사용하고, 쉘에서 해석되지 않도록 백슬래시 및 달러 기호를 인용하십시오).

/usr/local/bin/lftp -u user,pass -e "mirror -x '^(\\.mp4|\\.swf)\$' $src $dest" ftp.host

두 번째 경우에는 다음과 같이 glob 모드를 사용해야 합니다.

/usr/local/bin/lftp -u user,pass -e "mirror -X *.mp4 -X *.swf $src $dest" ftp.host

어쨌든 미러 명령을 자동화하기 전에 먼저 수동으로 테스트하는 것이 좋습니다.

관련 정보