이 명령 실행
find . -maxdepth 1 '!' -name .scm -exec rm -rf {} + || true
사용할 수있는 파일이 없으면 괜찮습니다. 그렇지 않으면 다음과 같은 메시지가 나타납니다.
rm: cannot remove directory: `.'
그러나 명령은 예상대로 작동합니다. 이 메시지에 대해 귀찮게해야하며 어떻게 극복 할 수 있습니까?
친애하는
Bash에서는 확장 된 globbing을 사용하여이를 단순화 할 수 있습니다 ( 자체를 .scm
포함하여로 끝나는 모든 파일과 일치 .scm
).
$ shopt -s extglob
$ cd -- "$(mktemp --directory)"
$ touch .scm bar.txt
$ ls -a !(*.scm) # Change to `rm -rf`
bar.txt
또는 Jameson의 제안을 따르고 다음을 사용할 수 있습니다 -mindepth
.
find . -mindepth 1 -maxdepth 1 '!' -name .scm -exec rm -rf {} + || true
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다