SCP는 정규 표현식과 함께 사용할 수 없습니다

SCP는 정규 표현식과 함께 사용할 수 없습니다

정규식을 사용하여 일부 원격 파일을 내 로컬 호스트에 복사하려고 했지만 정규식을 일반 문자열인 것처럼 읽고 일치하는 파일을 찾을 수 없습니다.

어떤 아이디어가 있나요?

문서 다운로드

#!/bin/bash

scp "[email protected]:/home/student/download-this/[a-zA-Z0-9]+\.tar\.gz" .

또한 localhost에서 원격 장치로 복사를 시도했지만 정규식은 여전히 ​​scp에서 작동하지 않습니다.

파일 업로드하다

scp "/root/scripts/this[XYZ]_[0-9]{1,5}\.txt" [email protected]:/home/fs/upload

로컬 호스트 파일

원격 장치 파일

에러 메시지

답변1

댓글에서 말했듯이 scp정규 표현식은 지원되지 않습니다. glob다음과 같이 사용하는 것이 더 좋습니다 .

scp '[email protected]:/home/student/download-this/[a-zA-Z0-9]*.tar.gz' .
#   ^                                                                     ^
# need this single quotes

정규식을 사용하는 대신 scp처리하고 glob확인할 수 있습니다.

man bash | less +/'Pattern Matching'

와일드카드를 통해 파일을 "업로드"하려면 *:

scp [a-zA-Z0-9]*.tar.gz [email protected]:/home/student/upload-this/

관련 정보