내 노드 시스템에 디렉터리가 점점 늘어나고 있습니다. 이 디렉토리에 내 jpg
.I 를 저장했습니다 . 최근에 생성된 파일을 다른 Linux 시스템(LIFO 방법)으로 보내고 싶습니다 . 이 문제에 대해 조언을 해주실 수 있나요?avi
CCTV DVR
jpg
답변1
스크립트를 사용하여 이 작업을 직접 수행하려면 다음과 같이 하면 됩니다.
#!/bin/bash
lastFile="$(find -type f -iname '*.jpg' -printf '%T@ %p\n' | sort -k1 -n | tail -1 | awk '{print $2}')"
# Move it anyway you like, I use scp for demonstration
rsync -au "$lastFile" [email protected]:/path/to/files/
# Then remove it, move it or anything else you want
rm -i "$lastFile"
하지만 Linux는 생성 시간을 추적하지 않기 때문에 이 스크립트는 수정 시간을 사용한다는 점을 명심하세요.
find
에서 가져온여기.
find -type f -iname '*.jpg' -printf '%T@ %p\n'
jpg
파일 및 수정 시간 나열sort -k1 -n
수정 시간을 기준으로 정렬tail -1
우리는 최신을 잡아awk '{print $2}
파일 이름만 유지
답변2
그리고 zsh
:
scp ./**/*.jpg(D.om[1]) host:
om
파일 내용의 생성 시간으로 간주할 수 있는 마지막 수정 시간을 기준으로 정렬합니다.
일부 도구는 사진 수정 시간을 사진 촬영 시간으로 설정하는 것을 좋아합니다(예: 카메라가 배치한 이미지 메타데이터에서 해당 정보를 사용할 수 있는 경우).
oc
which 대신 which 를 사용하여 om
정렬할 수도 있습니다.변화시간. 임의로 설정할 수 없는 타임스탬프이며 파일의 내용(데이터 또는 메타데이터)이 변경될 때마다 업데이트됩니다.