찾기 및 나열 -R은 다양한 수의 파일을 반환합니다.

찾기 및 나열 -R은 다양한 수의 파일을 반환합니다.

파일의 전체 경로가 필요한 작은 스크립트에 사용할 파일 목록이 포함된 배열 변수를 만들려고 합니다. 주위를 둘러보며 다음과 같은 것을 시도했습니다.

find /path/ -t f | grep randomString

이는 필요한 파일 중 일부만 반환하는 것으로 밝혀졌으므로 wc -l이전 명령을 R 과 함께 사용하여 ls -R /path/ | grep randomString다른 줄 수를 얻었습니다(100줄이 넘는 차이가 있으므로 ls - R out에서 디렉터리를 계산했습니다). . find예상한 결과가 반환되지 않는 이유를 알고 싶습니다 . 어떤 아이디어가 있나요?

답변1

find디렉토리 트리의 모든 파일을 나열합니다. ls -R실제로는 더 적은 수의 파일을 나열합니다. 생략됩니다.파일 클릭- 꼭 ls -AR포함시켜야 합니다.

필요한 파일을 찾지 못한 경우 다음과 같은 여러 가지 가능성이 있습니다.

  • 출력에서 이를 놓쳤습니다. 검색 명령을 사용합니다(예 : less의 키 find … | less사용 ). /의 출력은 find정렬되지 않습니다.
  • 이 파일은 실제로 당신이 생각하는 것과 다릅니다. 대소문자를 잘 모르는 경우 대소문자를 구분하지 않고 검색하세요.
  • 당신이 찾고 있는 파일은 실제로 심볼릭 링크입니다. find -xtype f대신 find -type f에 기호 링크가 가리키는 파일을 기준으로 기호 링크를 분류하는 데 사용합니다 .
  • 이러한 파일은 디렉토리에 대한 심볼릭 링크 아래에 있습니다. 심볼릭 링크를 탐색하는 데 유용 find -L하지만 주의하세요. 대규모 계층 구조의 최상위 디렉터리를 가리키는 심볼릭 링크가 있는 경우 많은 수의 파일을 검색할 수 있습니다.

ls -R존재하지 않는 파일은 어떤 경우에도 찾을 수 없습니다 find.

ls -R합계 출력의 행 수를 쉽게 비교할 수 없습니다 find.

  • ls -R도트 파일을 생략 find하세요.
  • ls -R각 하위 디렉터리(루트 디렉터리 제외)에는 find -type f디렉터리 항목, 이전 줄과 해당 디렉터리 목록을 구분하는 빈 줄, 디렉터리 이름 뒤에 오는 헤더 줄 콜론 등 총 세 줄이 있습니다.

답변2

ls -R을 실행하면 디렉터리 이름 목록이 출력으로 표시됩니다.

관련 정보