여러 하위 디렉토리에서 최신 파일 나열 자리 숫자입니다. 최신 파일은 가장

여러 개의 하위 디렉토리 (GUID를 사용하여 이름이 지정됨)가 있는데 여기에는 실행중인 컴퓨터 시뮬레이션의 결과 파일이 포함되어 있습니다. 파일의 이름은 모두 다음과 같이 지정됩니다. hydro_configuration_xxxx.xyz. 여기서 xxxx는 0000 이상의 4 자리 숫자입니다. 최신 파일은 가장 높은 4 자리 숫자입니다. 각 하위 디렉토리의 최신 파일과 해당 디렉토리를 나열하고 싶습니다.

따라서, 예를 들어, hydro_configuration_0000.xyz에서 hydro_configuration_0123.xyz로 파일 hydro_configuration_0000.xyz를 포함하는 서브 디렉토리 fc86783b-bcc5-4456-8964-049682ee81aa와 주어진 파일 hydro_configuration_0000.xyz를 hydro_configuration_3564로 포함하는 디렉토리 e608273d-35bd-442c-9de1-0ec184aa0d95 출력을 생성하는 명령이 필요합니다.

./fc86783b-bcc5-4456-8964-049682ee81aa/hydro_configuration_0123.xyz 
./e608273d-35bd-442c-9de1-0ec184aa0d95/hydro_configuration_3564.xyz


답변

latestfile.sh다음 내용으로 bash 스크립트 를 작성하십시오 .

#!/bin/bash
ls -1tr "$1" | tail -n1

실행 가능 chmod +x latestfile.sh하도록 실행하십시오 .

그런 다음 다음 명령을 실행하십시오.

find test -mindepth 1 -type d -name "hydro_configuration_*" -printf "%p/" -a -exec ./latestfile.sh {} \;

패턴과 일치하는 모든 디렉토리를 찾아 이름을 인쇄 한 다음 /최신 파일 이름을 표시합니다.