읽기 권한이 있는 원격 디렉터리가 있습니다. 마지막 반복 이후 변경된 파일 목록을 생성하고 싶습니다.
내 생각은 이렇습니다.
$ cp output.new output.old
$ ll > output.new
$ diff output.new output.old > list.files
아이디어는 list.files
다음과 같이 "수정 타임스탬프"가 다른 파일이나 새 파일의 이름과 상대 경로만 갖는 것입니다.
file1
files2
dir1/file3
dir2/file4
그래서 나는 diff
및 ls
매개 변수에 대해 묻고 있습니다.
답변1
#!/bin/sh
topdir=/some/directory
stampfile="$HOME/.stamp"
if [ -f "$stampfile" ]; then
find "$topdir" -type f -newer "$stampfile"
fi
touch "$stampfile"
이 작은 스크립트는 스크립트가 실행될 때마다 업데이트되는 타임스탬프 파일을 유지 관리합니다. $topdir
.txt 의 타임스탬프 파일보다 최신 수정 타임스탬프가 있는 디렉터리의 모든 파일을 찾습니다 $stampfile
.
스크립트를 처음 실행하면 타임스탬프 파일이 존재하지 않으므로 스크립트는 아무것도 출력하지 않습니다. 후속 실행 시 스크립트는 마지막 실행 이후 수정된 파일을 나열합니다.