공유 서버로 사용하는 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 스크립트를 사용했지만 금방 복잡해지고 느려졌습니다.