알파벳/숫자 순서로 특정 파일 형식을 포함하는 디렉터리에 대한 파일 경로 가져오기

알파벳/숫자 순서로 특정 파일 형식을 포함하는 디렉터리에 대한 파일 경로 가져오기

이름이 800개인 하위 디렉터리가 포함된 디렉터리가 있습니다 disp-001 ... disp-800. 이러한 모든 하위 디렉터리에는 특정 파일이 포함되어야 합니다 stdout. 예를 들어 그 중 하나에는 파일이 포함되어 있지 않으며 파일이 없는 폴더를 찾아야 합니다. 내가 시도하면

find . -name "stdout"

내 모든 파일에 대한 값을 반환하지만 001부터 800까지 정렬되어 있지 않아 폴더를 식별하기가 어렵습니다. 출력을 숫자순으로 정렬하는 방법이 있습니까?

노트:

나는 (적어도 나 자신에게) 고전을 보여주기 위해 이 질문을 편집하지 않을 것입니다XY 문제. 나에게 필요한 것은 특정 파일을 포함하지 않는 디렉터리를 식별하는 것뿐입니다. 그러나 이 질문은 해당 문제에 대한 구체적인 시도 솔루션에 관한 것입니다. 특정 파일을 포함하지 않는 디렉토리를 찾는 솔루션 제공여기.

답변1

개인적으로 저는 대신 쉘을 사용하겠습니다.

$ for dir in disp-{001..800}; do [ -f "$dir"/stdout ] || echo "$dir"; done
disp-389

내 테스트에서는 disp-389이 디렉토리가 파일이 누락된 유일한 디렉토리이므로 파일이 인쇄되는 유일한 디렉토리입니다.

쉘이 이러한 형태의 중괄호 확장을 지원하지 않으면 for dir in disp*or (모든 디렉토리를 확인한다고 가정)를 사용하십시오 for dir in */.

관련 정보