특정 디렉터리에서 파일 찾기

특정 디렉터리에서 파일 찾기

나는 대학에서 "이름이 "로 끝나는 디렉토리와 하위 디렉토리에서 모든 파일을 찾는 연습을 했습니다.

나는 다음 명령에 도달했습니다.

ls *.xls /users/home/DESKTOP/*SCHEDULE

이렇게 하면 데스크탑에 .xls 파일만 표시되고 이름에 SCHEDULE이 포함된 모든 디렉터리가 열리지만, 그렇게 하면 .xls 파일만 포함된 디렉터리의 모든 파일이 표시됩니다.

답변1

"파일"은 디렉터리, 심볼릭 링크, 소켓, 명명된 파이프 등이 아닌 "일반 파일"을 의미한다고 가정합니다.

.xls파일 이름 접미사가 있고 현재 디렉터리의 디렉터리 내부 또는 아래에 있고 SCHEDULE이름에 해당 문자열이 있는 모든 일반 파일을 찾으려면 다음을 수행하십시오 .

find . -type f -path '*SCHEDULE*/*' -name '*.xls'

-type f현재 처리 중인 파일 형식을 테스트 합니다 find. 일반 파일(유형 f)이면 다음 테스트가 고려됩니다(그렇지 않으면 파일이 아닌 경우 다음 테스트가 확인됩니다).

이 테스트는 현재 검사 중인 -path파일의 전체 경로 이름에 대한 테스트 입니다. find이 경로 이름이 일치하면 *SCHEDULE*/*다음 테스트가 고려됩니다. 패턴의 후자 SCHEDULE때문에 패턴은 디렉터리 이름(최종 파일 이름이 아님)과만 일치합니다./

마지막 테스트는 파일 이름이 .xls.

기본적으로 모든 테스트를 통과한 모든 경로 이름이 인쇄됩니다.

명령을 다음과 같이 단축할 수도 있습니다.

find . -type f -path '*SCHEDULE*/*.xls'

답변2

사용할 수 있다find . -name "*.xml" -type f -path './file/location/* -exec xmllint --output '{}' --format '{}' \;

그러면 ./file/location/에서 *.xml 파일을 찾고 xmllint를 사용하여 처리하여 해당 형식을 사용하여 각 .xml 파일을 출력합니다.

관련 정보