40,000 개가 넘는 이미지가있는 디렉토리를 방금 전달했으며이 디렉토리에는 모든 파일의 세 가지 버전이 포함되어 있으므로 서버간에 전송해야 할 부담이 있습니다.파일 확장명 앞에 특정 접미사가 붙은 모든 파일을 삭제하는 방법
저는 bash (OSX Terminal)를 사용하여 모든 파일 (예 : _web 또는 _thumb, .jpg (또는.))을 찾아서 제거하는 방법을 찾고 있습니다. gif 또는 .png, 또는 .bmp 등) 확장자를 포함 할 수 있습니다.
1.jpg
1_web.jpg
1_thumb.jpg
2.gif
2_web.gif
2_thumb.gif
etc.
을 그리고 난 단지 유지 등 "1.JPG", "2.gif"를 원하는 :
그래서, 분명히, 나는 다음과 같은 파일이 있습니다.이전에는 확장 프로그램의 이름을 바꿀 수 있었지만 커맨드 라인 푸는 매우 약하고 재사용 가능한 것을 찾기 위해 노력하고 있습니다. (필자는 이 프로젝트를 위해 지속적인 마이그레이션 스크립트 작업을하고 있으므로이 작업을 두 번 수행하십시오.)
편집 : 이것에 대해 더 많은 작업을 한 후에, 나는 rm과 xargs에 약간의 한계가 있음을 발견했다. 나는 기본적으로 아래의 허용 대답을 적응으로 돌아가 셨습니다 :
$ find . -name '*_thumb.*' -print0 | xargs -0 rm -f
$ find . -name '*_web.*' -print0 | xargs -0 rm -f
가 지금은 약 10,000 파일을 다운 해요 - 상당히 절감을 웹에 주변에 파일을 푸시면에서!
작동 할 수 있습니다 상상 와일드 카드 문자를 통해 (그래서 두 번째 예제는 잘 작동하지 않았다.) 참조 : http://www.moundalexis.com/archives/000035.php – geerlingguy