패턴과 일치하는 최근 생성된 파일을 한 폴더에서 다른 폴더로 이동

패턴과 일치하는 최근 생성된 파일을 한 폴더에서 다른 폴더로 이동

다음을 수행하는 bash 스크립트의 예를 찾고 있습니다.

/tmp폴더 아래에 파일을 쓰고 있어요

xterm프롬프트에서 이 작업을 수행하면 최근 ls -ltr파일 목록이 표시됩니다. 예를 들면 다음과 같습니다.

abc_mytest.log
abc_runTimeFailure.scripted.log
myManager.log

mv오늘 작성한 최신 내용을 /home/project/ 아래의 새 폴더로 이동( )하고 싶습니다 .

/tmp오늘 만든 항목을 다음으로 옮기고 싶습니다./home/project/

커뮤니티에서 공유할 수 있는 모든 사례는 내가 바퀴를 재발명하기 전에 시간을 절약해 줄 것입니다.

고마워요, 에릭

답변1

그리고 zsh:

autoload age
mv /tmp/*(.e[age today]) /home/project/

( D오늘 마지막으로 수정된 숨겨진 파일도 이동하려면 glob 한정자를 추가하세요.)

이는 /tmp시스템 사용자를 포함하여 시스템의 모든 사용자가 사용하는 임시 디렉터리입니다. 자신의 것이 아닐 수 있는 파일을 이동하려고 시도하는 것은 좋지 않은 생각처럼 들립니다. 그렇게 하지 않으면 시스템에서 이를 허용하지 않습니다 root.

자신이 소유한 파일만 고려하려면 Uglob 한정자를 사용하세요. 다음으로 끝나는 파일과 같이 이름이 특정 패턴과 일치하는 파일만 이동할 수도 있습니다 .log.

mv /tmp/*.log(.Ue[age today]) /home/project/

답변2

man find mv다음을 읽고 수행하십시오.

find /tmp -maxdepth 1 -type f -daystart -mtime 0 \
  -exec mv -t /home/project/ {} +

검증되지 않은!echo mv테스트를 위해서는 잠재적으로 위험한 것보다는 사용해야 합니다 mv.

관련 정보