실수로 백업 파일을 두 번 복사했기 때문에 이제 두 개의 동일한 파일이 생겼습니다. 유일한 차이점은 두 파일 중 하나가 공백 뒤에 "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"가 하나 이상 포함된 현재 디렉터리의 모든 파일이 삭제됩니다.