
file1
다른 파일 중 하나를 생성 하거나 file2
다른 파일과 함께 생성하는 실행 파일이 있습니다 . 최근 생성된 파일을 출력하는 쉘 스크립트를 작성하려고 합니다. 실행 파일이 생성되면 file1
출력은 이어야 합니다 file1
. 나는 이미 두 파일을 모두 가지고 file1
있으며 file2
다른 파일과 함께 디렉토리에 존재합니다. 실행 파일이 이를 덮어씁니다. file1/file2가 없으면 아래 스크립트는 작동하지만 둘 다 존재하는 경우에는 작동하지 file1
않습니다 file2
.
if [ -e "file1" ]; then
output="file1"
else
output="file2"
fi
답변1
빠르고 쉬운 방법.
output="$(ls -td control.tk input.scs 2> /dev/null|head -1)"
그러나 파일에 개행이나 공백과 같은 재미있는 문자가 포함되어 있지 않은지 확인할 수 있는 경우에만 이 방법을 사용하겠습니다. 파일 이름에 재미있는 문자가 포함되어 있지 않다는 것을 보장할 수 있다면 구문 분석은 ls
매우 안전합니다.