여러 폴더에 있는 처음 2개의 파일을 가져오는 방법은 무엇입니까?

여러 폴더에 있는 처음 2개의 파일을 가져오는 방법은 무엇입니까?

내 요구 사항은 하위 폴더에 가장 최근 파일 2개를 가져오는 것입니다.

각 폴더에 10개의 파일이 포함된 10개의 폴더가 있으며 10개 폴더 모두에서 가장 최근 파일 2개를 가져와야 합니다.

스크립트나 명령어를 제안해주세요.

답변1

각 디렉토리에서 가장 최근에 수정된 2개의 일반 파일을 참조하는 경우, 여기서 zsh:

dirs=(dir1 dir2...)
files=()

for dir ($dirs) files+=($dir/*(DN.om[1,2]))
(($#files)) && ls -ld -- $files

findGNU 와 xargs최신 GNU를 포함하는 모든 디렉토리에서 가장 최근에 수정된 2개의 일반 파일을 의미하는 경우 sed:

find dir1 dir2... -mindepth 1 -maxdepth 1 -type f -printf '%T@:%p\0' |
  sort -rzn | sed -z 's/[^:]*://;2q' | xargs -r0 ls -ld --

관련 정보