"2"로 끝나는 파일을 모두 삭제하려면 어떻게 해야 하나요? [폐쇄]

"2"로 끝나는 파일을 모두 삭제하려면 어떻게 해야 하나요? [폐쇄]

실수로 백업 파일을 두 번 복사했기 때문에 이제 두 개의 동일한 파일이 생겼습니다. 유일한 차이점은 두 파일 중 하나가 공백 뒤에 "2"가 붙는다는 것입니다.

예:

urh 2.sh
urh.sh

또는

vim tut
vim tut 2

단일 명령으로 bash를 통해 이러한 모든 중복 항목을 재귀적으로 제거하려면 어떻게 해야 합니까?

답변1

이렇게 찾아서 삭제할 수 있습니다.

먼저 삭제할 파일 목록이 올바른지 확인하세요.

find /path/to/the/folder -name "* 2" -print0| xargs -0 -n1 ls

그런 다음 삭제

find /path/to/the/folder -name "* 2" -print0| xargs -0 rm -f

혹시라도 문제가 생길 경우를 대비해 삭제하기 전에 반드시 백업을 해두세요...

건배,

SK

답변2

이것bash-shell 글로벌 확장( man 7 glob) 이면 충분합니다.

rm ./*" 2"*

이렇게 하면 이름에 하위 문자열 "2"가 하나 이상 포함된 현재 디렉터리의 모든 파일이 삭제됩니다.

관련 정보