쉘에서 최근 생성된 파일을 출력하는 방법

쉘에서 최근 생성된 파일을 출력하는 방법

file1이러한 파일 중 하나를 생성 하거나 file2다른 파일과 함께 생성하는 실행 파일이 있습니다 . 최근 생성된 파일을 출력하는 쉘 스크립트를 작성하려고 합니다. 실행 파일이 생성되면 file1출력은 이어야 합니다 file1. 이 두 파일이 이미 있고 다른 파일과 함께 디렉터리에 존재한다는 점에 유의 file1하세요 file2. 실행 파일이 이를 덮어씁니다. 아래 스크립트는 file1/file2가 없으면 작동하지만 file1file2.

if [ -e "file1" ]; then
   output="file1"
else
   output="file2"
fi

답변1

빠르고 쉬운 방법.

output="$(ls -td control.tk input.scs 2> /dev/null|head -1)"

그러나 파일에 개행이나 공백과 같은 흥미로운 문자가 포함되어 있지 않다는 것을 확인할 수 있는 경우에만 이를 사용하겠습니다. 파일 이름에 흥미로운 문자가 포함되어 있지 않다는 것을 보장할 수 있다면 구문 분석은 ls매우 안전합니다.

관련 정보