Bash의 경로에 관계없이 폴더 이름을 제외하는 방법은 무엇입니까? [복사]

Bash의 경로에 관계없이 폴더 이름을 제외하는 방법은 무엇입니까? [복사]

폴더에 있는 파일을 검색에서 제외하려고 합니다. 실제로 효과는 꽤 좋습니다.

내 코드는 다음과 같습니다find . -type d -regextype posix-extended -regex "(./Scripts/testfolder)" -prune -o -type f -print

그러나 내 문제는 경로에 관계없이 폴더 이름이 나타나는 모든 항목을 제외하고 싶다는 것입니다. 기본적으로 삭제하고 싶습니다../스크립트/섹션을 클릭하고 testfolder 폴더가 어디에 있든 무시하세요. 정규식을 개선하면 이를 달성할 수 있나요?

실행하면 find . -type d -regextype posix-extended -regex "(testfolder)" -prune -o -type f -print폴더가 입력되고 파일이 얻어집니다.

답변1

-name의 옵션은 find실제로 basename참조되는 관련 개체를 참조한다는 점을 인식해야 합니다 . 따라서 이름으로 디렉토리를 찾은 다음 정리할 수 있습니다.

find . -type d -name 'testfolder' -prune -o -type f -print

관련 정보