폴더 이름에서 알 수 없는 문자를 제거하는 방법은 무엇입니까?

폴더 이름에서 알 수 없는 문자를 제거하는 방법은 무엇입니까?

공유 서버로 사용하는 Debian 10 시스템이 있습니다(삼바 서버). 저는 Mac을 사용하고 있으며 Document.1공유 폴더에 폴더를 만듭니다. Linux Debian 시스템에 접속하면 알 수 없는 문자(물음표가 있는 사각형)로 대체되었습니다 .. 스크립트를 사용하여 이러한 문자를 제거하고 싶습니다. 손으로 할 수도 있지만 꽤 큰 나무가 있어요.

제가 충분히 명확하게 설명했는지 모르겠습니다. 더 많은 정보가 필요하시면 주저하지 마십시오.

업데이트: 폴더 이름 끝에 공백도 추가했습니다(예: = Document1).

혹시 아이디어 있으시면 미리 감사드립니다세게 때리다스크립트. 좋은 하루 보내세요.

root@debian:/home/ekip/Documents# ls -lb
    total 20
    drwxr-xr-x  3 ekip ekip 4096 juil. 21 09:33 deuxpoints
    drwxr-xr-x 10 ekip ekip 4096 juil. 21 16:12 espace
    drwxr-xr-x  2 ekip ekip 4096 juil. 22 16:47 script
    drwxrwxrwx  2 ekip ekip 4096 juil. 22 15:14 TEST
    -rw-r--r--  1 root  root    20 juil. 22 17:00 unicode.sh
    root@debian:/home/ekip/Documents#

답변1

파일에 입력할 수 없거나 ?터미널에 ed로 표시될 수 없는 문자가 포함되어 있는 경우 와일드카드를 사용하여 계속 상호 작용할 수 있습니다.ls

$ touch 'neat↑file'
$ ls -l n*
-rw-r--r--    1 dopeghoti users         0 Jul 22 08:20 neat?file

이를 생성하는 데 사용된 명령에서 볼 수 있듯이 이는 ?리터럴이 아닙니다.?

그러나 a를 입력할 수 없거나 실제로 어떤 문자인지 알 수 없더라도 여전히 인용할 수 있습니다.

$ mv neat?file neat_file
$ ls n*
-rw-r--r--    1 dopeghoti users         0 Jul 22 08:20 neat_file

?in bash(및 대부분의 쉘)은 "정확히 한 문자" 와일드카드입니다.

답변2

detox명령은 뇌에 손상된 파일 이름을 정리하는 데 탁월한 작업을 수행합니다. 그런 다음 남은 작업이 있으면 sed 또는 awk를 사용하여 수행할 수 있습니다.

참조번호https://linux.die.net/man/1/detox

이 작업을 수행하기 위해 bash 스크립트를 사용했지만 금방 복잡해지고 느려졌습니다.

관련 정보