작업 중에 특정 디렉터리를 건너뛸 수 있는지, 어떻게 할 수 있는지 알고 싶습니다 rm -rf
.
예를 들어 위치에는 다음 하위 폴더가 포함되어 있습니다(실제로 이는 단지 예일 뿐입니다).
foo
bar
elf
qrs
예를 들어 이 디렉토리에서 스크립트를 실행하는 동안 rm -rf *
삭제를 건너뛸 수 있는지 알고 싶습니다 elf
.
일반적으로 각 디렉터리를 명령에 전달할 수 있지만 rm -rf foo bar qrs
제 경우에는 여러 시스템에 대한 스크립트에 있으므로 각 시스템마다 다른 폴더가 있습니다. 예를 들어 시스템 1에는 다음이 포함될 수 있습니다.
foo
bar
elf
qrs
system2에는 다음이 포함될 수 있습니다.
ubt
dbn
arc
elf
gnt
rm -rf
을 제외한 모든 항목을 삭제하고 명령을 동일하게 만들고 싶습니다 elf
.
이것이 가능한가?
미리 감사드립니다.
답변1
~에 따르면이것내장된 제외 기능은 없습니다 rm
. 그러나 이 문서에서는 일부 셸 명령을 사용하여 동일한 결과를 얻는 여러 가지 방법을 자세히 설명합니다.
첫 번째 방법이 가장 적합한 것 같습니다.
important.txt라는 이름의 파일을 제외한 모든 파일을 삭제하세요.
rm !(important.txt)
답변2
가능한 해결 방법 중 하나:
find -type d ! -name "elf" -delete