find를 사용하여 심볼릭 링크를 n번만 통과하시겠습니까?

find를 사용하여 심볼릭 링크를 n번만 통과하시겠습니까?

find재귀적으로 경로를 검색하는 것이 가능하지만 지정된 깊이까지만 심볼릭 링크 경로로 들어 갈 수 있습니까 n?

-maxdepth, 하지만 여기에는 일반 디렉토리가 포함되지만 심볼릭 링크 깊이만 제한하고 싶습니다.

답변1

다음을 시도해 보세요:

$ find -L -maxdepth n -path "/my/path/pattern" -xtype l -print

간단한 설명:
- 지정된 깊이 n까지만 심볼릭 링크를 인쇄해야 합니다. 여기서 n은 양의 정수입니다.
- 옵션은 인수보다 앞에 와야 합니다. 이는 위 cmd의 쓰기 순서가 중요하다는 의미입니다. 어쨌든 그렇지 bash않으면 불평할 것이다.
- -print가 기본값이므로 이 경우 생략해도 됩니다.

manbash v4.4.12 페이지 에 따르면 다음과 같은 이유로 마법이 발생합니다.

-xtype c
파일이 기호 링크가 아닌 한 -type과 동일합니다. 기호 링크의 경우: -H 또는 -P 옵션이 제공되면 파일이 c 유형의 파일에 대한 링크이면 true이고, -L 옵션이 제공되면 c가 "l"이면 true입니다. 즉, 기호 링크의 경우 -xtype은 -type이 확인하지 않는 파일 형식을 확인합니다.

이것은 나에게 효과적입니다.

관련 정보