이 find 명령을 더 간결하게 만들 수 있습니까?

이 find 명령을 더 간결하게 만들 수 있습니까?

다음 두 명령을 살펴보십시오.

find ~/{Documents,Desktop,Downloads,Music,Videos} -mmin -120 -type f
그리고
find . ! -path "*opera*" ! -path "*mozilla*" ! -path "*google-chrome*" -mmin -120 -type f

첫 번째는 find특정 폴더와 관련된 결과를 제공하도록 지시하고 두 번째는 그 반대를 수행합니다. 하지만 두 번째 명령을 더 간결하게 만드는 방법이 있습니까? 아니면 ! path모든 폴더 앞에 있어야 합니까 ?

운영체제는 루분투 12.10이다.

답변1

findGNU 정규식(비표준 확장)을 사용할 수 있습니다 .

find . -regextype posix-extended ! -regex '.*(opera|mozilla|google-chrome).*'

다른 (보다 효율적인) 것을 사용할 수도 있습니다 -regextype. 확인하지 않았습니다.

크리스 탕솔루션은 두 번째 명령과 정확히 동일하지 않습니다 find.아니요하위 디렉터리에서 패턴을 제외합니다(여전히 유사한 콘텐츠를 찾을 수 있음 ./somedir/some-mozilla-dir).

위 명령에는 이러한 제한이 없습니다.

관련 정보