특정 시간과 날짜가 있다고 가정해 보겠습니다. 해당 날짜 이전에 마지막으로 편집한 모든 파일을 보관하고 싶지만 해당 날짜 이후에 편집된 모든 파일은 mv
다른 곳에 보관하고 싶습니다 . man
페이지에는 mv
이것이 가능하다는 사실이 직접적으로 표시 되지 않습니다 mv
. 나는 다음 중 어떤 형태가 작동해야 한다고 생각합니다.
ls -t | head -n $number
$number
내가 지정한 시간과 날짜 이후에 편집된 파일 수를 지정합니다 . 그런 다음 어떻게든 이 파일 mv
에 이를 공급할 수 있습니다 mv
(아직 정확히 어떻게 수행하는지 파악하지 못했습니다). 이 방법의 단점은 내가 지정한 날짜와 시간 이후 얼마나 많은 파일이 편집되었는지 계산해야 한다는 것입니다. 날짜와 시간만 지정하고 mv
어떤 파일을 편집해야 하는지 내 컴퓨터가 자동으로 파악하도록 할 수 있는 방법이 있나요? mv
그렇지 않다면 위에서 작성한 명령을 완료하여 이러한 파일 이름을 입력하여 mv
모두 mv
동일한 위치에 편집하려면 어떻게 해야 합니까?
답변1
find /path/to/dir -mtime +5 -exec mv {} /target/path/ ';'
/path/to/dir
5일이 지난 모든 파일은 /target/path로 이동됩니다.
실제로 작동하는 것이 무엇인지 확인하기 위해 이것을 시도할 수 있습니다.
find /path/to/dir -mtime +5 -exec echo mv {} /target/path/ ';'
이 -mtime
매개변수는 파일의 수정 시간을 확인합니다. 좀 보거나-ctime
-atime
맨페이지 찾기더 알아보기.
시간을 분 단위로 지정하려면 , 및 중 하나를 사용 합니다 -mmin
.-cmin
-amin
특정 시간보다 오래된 파일을 찾으려면 -
대신 를 사용하십시오 +
(예: ) -mmin -30
.
xargs
또 다른 방법은 (각 입력 라인에서 명령을 실행하는)을 사용하는 것입니다 .맨페이지):
find /path/to/dir -mtime +5|xargs -i echo mv {} /target/path
(실제로 물건을 움직이려면 "에코"를 제거하세요)