Bash에서 유니코드 파일 이름 선택

Bash에서 유니코드 파일 이름 선택

좋습니다. 제가 Bash에 있고 폴더에 몇 개의 파일이 있다고 가정해 보겠습니다. 그 중 일부는 입력할 수 없는 이상한 유니코드 문자로 시작하여 file☠☡☢☣.txt이름 이 지정되었습니다. ☠☡☢☣이 중 하나를 어떻게 언급합니까? Tab 키를 누르면 자동 완성되고 file이상한 문자를 입력하라는 메시지가 표시됩니다. bash에게 "방금 제공한 목록에서 세 번째 항목을 선택하세요"라고 말할 수 있는 방법이 있나요?

답변1

Shift이 문제를 해결하고 + 와 같은 readline과 함께 다른 유형의 키 바인딩을 사용하는 것이 좋습니다 TAB. 다음을 다음 항목에 추가하세요 ~/.inputrc.

"\e[Z": menu-complete

그런 다음 발행하십시오 exec bash(설정을 읽어야 함 ~/.inputrc). 일회성으로 bash를 다시 시작하는 대신 실행하여 동일한 바인딩을 설정할 수 있습니다 bind '"\e[Z": menu-complete'.

ShiftTAB이제 반복 시퀀스를 사용하여 일치하는 파일 이름을 반복 할 수 있습니다 (다음 일치 문자를 입력할 필요 없이). 이는 실행된 모든 명령에 적용됩니다(시퀀스에 바인딩된 표준 읽기 라인 명령이므로 ShiftTAB). OP가 지적했듯이 이는 키의 표준 동작에 영향을 미치지 않으며 TAB단지 조합에 기능을 추가할 뿐입니다 ShiftTAB.

답변2

?때때로 작동하는 또 다른 방법은 와일드카드 또는 와일드카드를 사용한 *다음 탭 완성과 고유하게 일치하는 항목을 얻을 때까지 나머지 "항목"을 입력하는 것입니다.

답변3

포함된 디렉터리로 이동하여 다음 줄을 file☠☡☢☣.txt입력합니다 ls -i.

xxxxx file☠☡☢☣.txt

xxxxx인덱스 번호는 어디에 있습니까 file☠☡☢☣.txt? 입력하다:

find . -maxdepth 1 -inum xxxxx -exec /bin/mv -i {} bettername.txt \;

여기서 xxxxx이전 행은 에서 얻은 위의 인덱스 번호입니다 ls -i. file☠☡☢☣.txt로 이름이 바뀌었습니다 bettername.txt.

관련 정보