내 외장 하드 드라이브에는 약 1TB의 데이터(PDF, 일반 텍스트 문서, 이미지, 바이너리 실행 파일 등)가 있습니다. 데이터는 Windows 10에서 생성되었으며 하드 드라이브는 NTFS로 포맷되었습니다.
하드 드라이브 루트부터 시작하여 각 폴더를 반복적으로 드릴다운하고 모든 파일의 공백을 밑줄로 바꾸어 터미널에서 더 쉽게 사용할 수 있도록 하고 싶습니다.
나는 문제를 본다여기: 거기에서 가장 좋은 답변을 사용하는 것을 고려하십시오
rename 'y/ /_/' *
내 외장 하드 드라이브의 루트에서.
하지만 해당 게시물은 조회수가 많지 않았고, 단 2명의 회원만이 답변에 투표했습니다. 초보자로서 이것에 본질적인 문제가 있는지 조금 걱정됩니다. 터미널의 크로스 플랫폼 사용성 문제를 처리하는 더 좋은 방법이 있습니까? (아마도 "일반 텍스트 파일에만 이 작업을 수행하거나 예상할 수 없는 다른 문제가 있습니다."와 같은 제안이 있을 수 있습니다.)
답변1
이것이 효과가 있을 것이라고 생각합니다. 하지만 발생할 수 있는 다음 문제에 주의하시기 바랍니다.
- 일부 파일을 덮어쓸 수 있습니다(예: 'some_file.txt' 그리고'일부파일.txt', 첫 번째 항목은 덮어쓰게 됩니다(손실됩니다).
- 이
rename
명령은 재귀적이지 않습니다. 디렉토리와 하위 디렉토리가 많은 경우 이를 수행할 방법을 찾아야 합니다(@centimane이 지적한 대로 스크립트를 사용하거나 find를 사용find ./ -exec rename 'y/ /_/' {} \;
). 일부 응용 프로그램과 lib 파일이 있는 경우 이름이 변경된 파일을 더 이상 찾을 수 없으면 작동이 중지될 수 있습니다(예: 저장된 .html 페이지에도 마찬가지).
먼저 하위 디렉터리에서 명령을 시도하고 일부 파일을 복사하는 것이 좋습니다.
obs: 영어로 말해서 죄송합니다. 이건 내 모국어가 아니야...