BASH는 1개를 제외한 모든 파일을 복사합니다.
Default.png라는 이름의 파일을 제외한 모든 파일을 dir에서 복사하고 싶습니다.여기에는 여러 가지 방법이 있는 것 같습니다.어떤 것이 가장 효과적일 것 같습니까?
다음과 같습니다.
cp -r !(Default.png) /dest
현재 폴더에 중첩된 폴더(아래의 경우 예제)로 복사할 경우 해당 디렉토리도 생략해야 합니다.
cp -r !(Default.png|example) /example
rsync는 오랫동안 cp/scp를 대체해 왔습니다.
rsync -av from/ to/ --exclude=Default.png
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
-v, --verbose increase verbosity
심플한 경우src/
파일만 포함되어 있습니다.
find src/ ! -name Default.png -exec cp -t dest/ {} +
한다면src/
에는 서브디렉토리가 있어 생략되지만, 그 안에 파일을 카피할 수 있습니다.
find src/ -type f ! -name Default.png -exec cp -t dest/ {} +
한다면src/
에는 서브 디렉토리가 있습니다.이러한 디렉토리로 재발하지 않습니다.
find src/ -type f -maxdepth 1 ! -name Default.png -exec cp -t dest/ {} +
cp `ls | grep -v Default.png` destdir
난 그냥 할 거야:
cp srcdir/* destdir/ ; rm destdir/Default.png
큰 파일이 아니라면요그렇지 않으면 예를 들어 다음과 같이 사용합니다.
find srcdir -type f/ |grep -v Default.png$ |xargs -ILIST cp LIST destdir/
2022년 1월 갱신:
이것이 가장 쉬운 방법이다.
먼저 "temp" 폴더를 만듭니다.
mkdir temp
다음으로 원래 폴더에서 "temp" 폴더로 모든 파일을 복사합니다.
"-R" 플래그는 "심볼릭 링크"를 포함한 모든 파일을 복사할 수 있습니다.
cp -R originalFolder/. temp/
셋째, "temp" 폴더에서 "Default.png"를 제거합니다.
rm temp/Default.png
마지막으로 "temp" 폴더에서 대상 폴더로 모든 파일을 복사합니다.
cp -R temp/. destinationFolder/
또한 이것이 "temp" 폴더를 사용하지 않는 가장 빠른 방법입니다.
cp -R originalFolder/!(Default.png) destinationFolder/
아래 대본은 나에게 효과가 있었다.
cp -r `ls -A | grep -v 'skip folder/file name'` destination
# chattr +i /files_to_exclude
# cp source destination
# chattr -i /files_to_exclude
셸의 확장 매개 변수를 regex와 함께 사용
cp /<path>/[^not_to_copy_file]* .
not_to_copy_file을 제외한 모든 파일이 복사됩니다.
--이것에 뭔가 문제가 있는 경우.지정해주세요!
언급URL : https://stackoverflow.com/questions/1313590/bash-copy-all-files-except-one
'prosource' 카테고리의 다른 글
랜덤 행을 선택하는 가장 좋은 방법 PostgreSQL (0) | 2023.04.18 |
---|---|
파이어폭스 브라우저에서 javascript에서 탁월하도록 동적 html 테이블을 내보냅니다. (0) | 2023.04.18 |
Swift에서 변수의 유형 또는 클래스를 인쇄하려면 어떻게 해야 합니까? (0) | 2023.04.18 |
작은 아이콘을 UILabel에 삽입하는 방법 (0) | 2023.04.18 |
셸 와일드카드 문자 확장을 중지하시겠습니까? (0) | 2023.04.18 |