![Bash의 경로에 관계없이 폴더 이름을 제외하는 방법은 무엇입니까? [복사]](https://linux55.com/image/107413/Bash%EC%9D%98%20%EA%B2%BD%EB%A1%9C%EC%97%90%20%EA%B4%80%EA%B3%84%EC%97%86%EC%9D%B4%20%ED%8F%B4%EB%8D%94%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EC%A0%9C%EC%99%B8%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
폴더에 있는 파일을 검색에서 제외하려고 합니다. 실제로 효과는 꽤 좋습니다.
내 코드는 다음과 같습니다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