![find 명령에서 항상 경로 제외](https://linux55.com/image/136921/find%20%EB%AA%85%EB%A0%B9%EC%97%90%EC%84%9C%20%ED%95%AD%EC%83%81%20%EA%B2%BD%EB%A1%9C%20%EC%A0%9C%EC%99%B8.png)
find로 내용을 찾을 수 없는 디렉토리가 있었기 때문에 find에 다음과 같은 별칭을 지정했습니다.
alias find='find -not -path "*.sync*"'
문제는 이제 find -depth
.
답변1
-not
이름이 지정된 연산자가 에 존재하지 않습니다 find
. 그런 뜻 이었습니까 !
? -path
많은 구현에서 발견되는 확장이지만 find
전부는 아닙니다.
주요 문제는 아마도 모든 경로 이름 매개변수가 find
명령줄에 먼저 나타나야 한다는 점이며, 별칭을 확장한 후 경로 이름 유형 매개변수를 추가하면 find
매개변수가 잘못된 순서로 표시된다는 점입니다.
find
사례에 따라 제외하려는 경로 앞이나 뒤에 더 많은 매개 변수를 추가 해야 할 수 있으므로 문제에 대한 일반적인 해결책은 없습니다 .
당신은 시도 할 수 있습니다:
find() {
path=$1
shift
command find "$1̈́" ! -path '*.sync' "$@"
}
그러나 경로 유형 매개변수는 하나만 허용됩니다.