Bash : 파일 이름에 특정 문자열이 포함 된 파일을 제외하고 동일한 확장자를 가진 모든 파일을 루트 / 현재 폴더에 복사합니다.

비키 데브

cp다음과 같이 하나의 명령 줄 에서 파일 형식과 일치하는 여러 폴더 및 파일을 복사하는 스크립트를 만들었습니다 .

today=$(date +"%d-%m-%Y");
cp -r ./{dir1,dir2,dir3,..,fi.le1.ext1,*.ext2,*.ext3} "../Target_$today/Subdir_$today/"

이제 ".ext3"의 모든 파일을 복사하고 이름에 "lock"또는 "-lock"이 포함 된 파일은 제외합니다. 이러한 파일은 자동 생성되므로 백업 할 필요가 없기 때문입니다 (예 : package-lock.json).

find사이에 문을 추가하지 않고 와일드 카드 및 부정 연산자 만 사용하여 어떻게 할 수 있습니까?

아누 바바

확장 된 glob 사용 :

shopt -s extglob nullglob

cp -r ./{dir1,dir2,dir3,..,fi.le1.ext1,!(*lock).ext2,*.ext3} "../Target_$today/Subdir_$today/"

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관