주어진 정규식으로 파일을 제외시키는 것이 왜 발견되지 않습니까?


0

모든 파일을 찾으려고합니다. /mnt/Storage 아니 아래에 /mnt/Storage/.Snapshots. 다음 작품들 :

find /mnt/Storage | egrep -v "^/mnt/Storage/\.Snapshots"

하지만 다음은 그렇지 않습니다.

find /mnt/Storage -regextype posix-egrep -not -regex "/mnt/Storage/\.Snapshots.*"

비록 두 사람이 제 지식에 비추어 볼 때 동급이어야합니다.

또한 두 번째 표현식에서 -not을 제거하면 파일이 .Snapshots 나열되어 있으므로 정규식이 옳았지만 사용하고 있습니다. -not 틀린 점은 ... 나는 어떻게 보이지 않는 것을 제외하고.

두 번째 명령으로 어떤 중대한 오류가 있었습니까? 나는 실제로 더 나은 솔루션을 만들기 위해 노력하고있어. -prune 하지만 왜 아직도 내 시도가 효과가 없는지 이해하지 못합니다.


2
"더 나은 해결책"은 find /mnt/Storage \( -name .Snapshots -prune \) , -print, 나는 생각한다.
grawity

시도해 보셨습니까? / mnt / Storage -regextype posix-egrep! -regex "/mnt/Storage/\.Snapshots.*"
snowdude

@ 스누드 - 작동하지 않았다 : /
jaymmer

@ 괴짜 괴상한, 그것은 나를 위해 CentOS에서 일을 한거야
snowdude

데비안 9에서 저에게 잘 돌아갑니다.
Kamil Maciorowski
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.