FTP, 와일드카드 검색 기준으로 파일 다운로드

FTP, 와일드카드 검색 기준으로 파일 다운로드

명령줄에서 ftp를 통해 일련의 파일을 다운로드해야 합니다. 내가 다운로드하는 서버의 폴더 구조는 다음과 같습니다.

/path/to/file1/abcfile111def
/path/to/file1/abcfile222def
/path/to/file1/abcfile187def
/path/to/file1/abcfile139def
/path/to/file1/abcfile209def

mget여러 파일과 와일드카드를 다운로드할 수 있는 가능성에 대해 알고 있지만 다운로드에 몇 가지 검색 기준을 적용해야 합니다.

검색 기준은 연결 시 서버가 있는 특정 디렉터리에서 해당 폴더의 모든 하위 디렉터리를 검색하고 파일을 찾고 다음 문자열을 찾는 검색 기준을 적용하는 것입니다.

file100,file101,file102....file199

문자열 조건은 이 숫자 범위와 일치하는 파일을 찾습니다. 어떻게 해야 하나요?

문제가 프로그래밍을 통해서만 해결될 수 있다면 나는 Python에 꽤 능숙하므로 대안을 찾는 데 문제가 없을 것입니다.

답변1

bash 코드를 사용하여 이 솔루션을 만들었습니다.

for i in /path/to/file1/*/*;
do 
    if [[ ${i##*[[:alpha:]]} =~ [[:digit:]][[:digit:]][[:digit:]] ]]
    then 
         echo $(realpath "$i")
    fi
done

이는 파일 이름의 세 숫자(101, 102, 103..., 199)와 일치합니다. echocommand를 ftp일치하는 각 파일에 대한 명령으로 바꿉니다 . echo해당 명령어를 이용하여 정상적으로 테스트 및 실행해 보시기 바랍니다 .

경로는 /path/to/file1/*검색되지 않는 하위 디렉터리가 포함되어 있으므로 중요하므로 검색 경로를 적절하게 /path/to/file1/*/*변경하세요.

관련 정보