여러 드라이브의 폴더 목록을 인쇄하는 명령

여러 드라이브의 폴더 목록을 인쇄하는 명령

다른 하드 드라이브에 포함된 폴더 목록을 알파벳 순서(단 하나의 단일 txt 또는 스프레드시트)로 인쇄하는 CLI 명령이 있습니까?

예를 들어 다음과 같은 구성이 있다고 가정해 보겠습니다.

/sda/Alfa/File 1
/sdb/Bravo/File 5
/sdb/Bravo/File 20
/sdc/Delta/File 14
/sdc/Delta/File 11

내가 출력하고 싶은 것은 폴더가 다음과 같이 알파벳 순서로 나열되는 TXT 또는 스프레드시트 파일입니다.

File 1
File 5
File 11
File 14
File 20

CLI에서 이 작업을 수행할 수 있습니까?

답변1

사용해 보세요find~와 함께sort:

find /sda /sdb /sdc -type f -printf '%f\n' | sort

예를 들어:

$ tree sd[a-c]
sda
└── Alfa
    └── File 1
sdb
└── Bravo
    ├── File 20
    └── File 5
sdc
└── Delta
    ├── File 11
    └── File 14
$ find sd[a-c] -type f -printf '%f\n' | sort
File 1
File 11
File 14
File 20
File 5

참고하세요이것이는 일반적으로 알파벳순, 보다 정확하게는 사전식 순서로 의미됩니다. ( 5문자가 1문자 앞에 오지 않으므로 5문자열은 14문자열 - 앞에 올 수 없습니다 05.)


설명:

find물건을 찾아주는 프로그램입니다.

  • -type f디렉토리(또는 기타 특수 파일)가 아닌 일반 파일을 원한다는 것을 나타냅니다.
  • 의 일반적인 출력은 find파일의 경로이므로 을 얻지만 sda/Alfa/File 1를 사용하면 파일 이름만 인쇄하도록 -printf '%f\n'지시합니다 .find

관련 정보