답변1
디렉토리를 찾고 싶지만 일반 파일( f
)을 찾고 있습니다. d
디렉토리 검색 의 경우 :
sudo find /home/lanein1/AshtonRPOUT/ -type d -mtime +30 -exec mv '{}' /home/lanein1/AshtonRPOUT/Arch/ \;
답변2
지난 30일 동안 수정된 모든 디렉터리를 이동하고 /home/lanein1/AshtonRPOUT/
최상위 디렉터리( /home/lanein1/AshtonRPOUT/
)는 변경하지 않으려면 다음을 사용하세요.
find /home/lanein1/AshtonRPOUT/ -mindepth 1 -maxdepth 1 -type d \
! -path '/home/lanein1/AshtonRPOUT/Arch*' -mtime +30 \
-exec mv {} /home/lanein1/AshtonRPOUT/Arch/ ';' -prune
여기서 주의할 점:
파일이 아닌 디렉토리를 찾고 있으므로
-type d
.대상 디렉터리는 검색된 디렉터리 집합에 포함되므로 해당 경로를 피하기 위해
find
사용합니다 .! -path '...'
최상위 디렉토리를 이동하고 싶지 않으므로
-mindepth 1
start find를 추가합니다.아래에그 길. 또한 하위 폴더에 들어가지 않도록-maxdepth 1
강제하세요find
(하위 폴더가 있고 여기에는 파일만 포함되어 있다고 말씀하셨습니다).(여기에서는 사용하기 때문에 필요하지 않습니다
-maxdepth 1
만...) 디렉터리를 이동하면 디렉터리 구조가 변경됩니다. 그래서-prune
마지막에 추가합니다. 이렇게 하면 고려될 디렉토리 목록에서 이동된 경로가 제거됩니다find
. 이것이 없으면find
존재하지 않는 디렉토리에 들어가려고 시도합니다(디렉토리를 찾아서 이동한 경우).