다음을 사용하여 일반 찾기 결과 find . ! -path "./build*" -name "*.txt"
:
./tool/001-sub.txt
./tool/000-main.txt
./zo/001-int.txt
./zo/id/002-and.txt
./as/002-mod.txt
그리고 다음과 sort -n
같이 정렬하면 :
./as/002-mod.txt
./tool/000-main.txt
./tool/001-sub.txt
./zo/001-int.txt
./zo/id/002-and.txt
그러나 원하는 출력은 다음과 같습니다.
./tool/000-main.txt
./zo/001-int.txt
./tool/001-sub.txt
./zo/id/002-and.txt
./as/002-mod.txt
즉 , 파일 이름 만 기준으로 출력이 정렬 되지만 폴더 정보는 출력의 일부로 유지되어야합니다.
편집 : 서브 디렉토리 구조에 둘 이상의 레벨이 포함될 수 있으므로 예제를 더 복잡하게 만드십시오.
-printf
대신 사용 awk
하면 이것이 최선의 해결책이라고 생각합니다. 이 방법을 사용하기 위해 원래 구현을 재 작업했습니다.