이름 끝에 특정 문자열이 있는 파일을 삭제하는 방법은 무엇입니까?

이름 끝에 특정 문자열이 있는 파일을 삭제하는 방법은 무엇입니까?

다음과 같은 이름의 사진이 몇 장 있습니다.photo_1@15-05-2018_18-49-14.png

_thumb.png하지만 p 로 끝나는 파일만 삭제하고 싶습니다 .hoto_1@15-05-2018_18-49-14_thumb.png

또한 둘 다 다른 디렉토리에 있습니다.

_thumb.pngLinux 쉘에서 ?로 끝나는 모든 파일을 삭제하는 방법은 무엇입니까 ? (파일 탐색기가 계속 충돌하기 때문에 사용할 수 없습니다. _thumb이름에 수천 개의 파일이 있을 뿐입니다.)

답변1

find . -type f -name '*_thumb.png' -exec rm -f {} +

rm -f그러면 이름이 패턴과 일치하는 일반 파일 배치가 호출됩니다 *_thumb.png. 이러한 파일은 현재 디렉터리나 해당 하위 디렉터리 또는 그 아래에서 찾을 수 있습니다.

findGNU 나 find이를 수행하는 구현이 있는 경우 -delete(Linux에 있을 수도 있음) 약간 더 짧은 것을 사용할 수 있습니다.

find . -type f -name '*_thumb.png' -delete

( 또는 ) 앞에 삽입하면 -print삭제된 경로 이름 목록도 가져옵니다.-delete-exec

답변2

이것은

rm -r *_thumb.png

답변을 주신 친구에게 감사드립니다.

관련 정보