아카이브 된 파일이있는 하위 폴더 (A, B, C 등)가있는 보관 폴더가 있습니다. 하위 폴더에서 가장 오래된 파일을 찾아서 삭제하는 방법 (예 : B) 내가 원하는거야? 당신은 오래된 수정 된 파일을 (생성되지 않음) 삭제하려는 경우디렉토리의 하위 디렉토리에서 가장 오래된 파일 삭제
답변
, 당신은이를 사용할 수 있습니다
rm "$(ls -t | tail -1)"
이 명령은 당신이 원하는 정확히 무엇을 할 것,
find . -mindepth 2 -type f -printf '%T+ %p\n' | sort | awk 'NR==1{print $2}' | xargs rm -v
간략한 설명 ,
find . -mindepth 2 -type f -printf '%T+ %p\n'
: 최소 깊이를 2로 제한하면, 은 w 하위 디렉토리 또는 더 이상의 파일. 그런 다음 파일의 마지막 수정 시간과 이름을 인쇄합니다.find ...
의 출력을sort
으로 파이프하여 모든 발견 된 파일의 수정 시간을 정렬합니다.awk 'NR==1{print $2}'
: 사용 서브 디렉토리의 이름을 전달하기 삭제 상기 요청에 대한 오래된 파일
Eidt
: awk
에 출력
xargs rm -v
오래된 파일의 이름을 가져 파이프 변수를 수정하려면 다음과 같이 수정하십시오. 당신은 $ a="sub_dir1"
$ b="sub_dir2"
$ find ... | sort | awk -v a=$a -v b=$b '$2 ~ "./" a "/" || $2 ~ "./" b "/"{print $2 ;exit}' | xargs ...
동의 함. 다른 스크립트에서이 명령을 포함하는 함수를 호출 할 것입니다. 여기에 해당 스크립트에서 하위 폴더 이름 (A/B/C로)을 전달하려고합니다. 하위 폴더 이름으로 매개 변수를 사용하여이 스크립트에서 다른 스크립트의 함수를 호출하는 방법은 무엇입니까? – Anony
@Anony, 귀하의 추가 요청에 대한 수정 사항을 확인하십시오. – CWLiu
잘 작동합니다 .. 고마워. 문제는 B에서 삭제할 파일이 없으며 디스크 사용에 따라 A/C로 이동해야한다는 것입니다. 어떻게해야합니까? delete_function에서만 수행하고 싶습니다 – Anony
- 1. 리눅스에있는 디렉토리의 모든 하위 디렉토리에서 특정 파일 삭제
- 2. x 일보다 오래된 하위 폴더의 파일 삭제
- 3. 디렉토리에서 가장 오래된 파일을 확인하십시오.
- 4. 디렉토리에서 파일 삭제
- 5. 폴더 및 하위 폴더의 파일에서 가장 오래된 파일 삭제
- 6. MVC 디렉토리에서 파일 삭제
- 7. 디렉토리에서 가장 오래된 파일을 찾는 방법 ??? (PHP)
- 8. PHP 디렉토리의 파일 삭제
- 9. 디렉토리에서 .zip 파일 삭제
- 10. 특정 하위 파일 이름이있는 모든 하위 디렉토리에서 PHP로 삭제
- 11. S3에서 가장 오래된 개체 삭제
- 12. 디렉토리에서 6 시간 오래된 파일을 삭제하는 Nodejs 하위 프로세스
- 13. 문서 디렉토리의 하위 디렉토리에서 이미지가로드되지 않습니다.
- 14. .JAR의 하위 디렉토리에서 _directly_ 하위 디렉토리의 파일을 가져 오는 방법
- 15. 하위 디렉토리의 application.cfc를 무시하고 루트 디렉토리의 파일 만 사용하십시오.
- 16. log4j를 사용하여 오래된 파일 삭제
- 17. X 분보다 오래된 파일 삭제
- 18. 쉘 win32 가장 오래된 디렉토리 삭제 (재귀)
- 19. PHP 하위 디렉토리에서 파일을 삭제 하시겠습니까?
- 20. oracle 저장 프로 시저의 디렉토리에서 파일 삭제
- 21. 디렉토리의 모든 코어 파일 찾기 및 삭제
- 22. PHP 디렉토리에서 파일 검색 및 삭제 - 성능
- 23. 요리사를 사용하여 디렉토리의 파일 삭제
- 24. 하위 디렉토리에서 Android.mk 파일 읽기 재귀 적으로
- 25. 디렉토리의 디렉토리에서 파일 이름을 변경하는 방법은 무엇입니까?
- 26. 소스 디렉토리에없는 경우에만 대상 디렉토리의 파일 삭제
- 27. 디렉토리 및 모든 하위 디렉토리의 특정 파일 삭제
- 28. 하위 디렉토리의 모든 파일에서 실행 후 파일 삭제
- 29. 1 분 후에 디렉토리에서 파일 삭제
- 30. 디렉토리 및 모든 하위 디렉토리에서 파일 이동
영업 이익은 _oldest 만들어 fileS_ 말 했는가는
awk
부분을 수정해야하고, 예를 들면 실패 : "$ (LS -t | 꼬리 -2)"'1! '. –