다음을 수행하는 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
.
자신이 소유한 파일만 고려하려면 U
glob 한정자를 사용하세요. 다음으로 끝나는 파일과 같이 이름이 특정 패턴과 일치하는 파일만 이동할 수도 있습니다 .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
.