Bash에서 유니 코드 파일 이름을 선택하십시오. 지정되지 않은 미친 유니

확인; Bash에 있고 폴더에 여러 파일이 있다고 가정합니다. 그중 몇몇은 이름이 지정되지 않은 미친 유니 코드 문자 file☠☡☢☣.txt☠☡☢☣시작합니다. 그중 하나를 어떻게 참조합니까? 탭을 누르면로만 자동 완성되며 file미친 캐릭터를 입력해야합니다. bash에게 “방금 나에게 준 세 번째 목록을 선택하십시오”라고 말할 방법이 있습니까?



답변

이 문제를 해결하고 Shift+ 와 같은 readline으로 다른 유형의 키 바인딩을 사용하는 것이 좋습니다 TAB. 에 다음을 추가하십시오 ~/.inputrc.

"\e[Z": menu-complete

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

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


답변

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


답변

포함 된 디렉토리로 이동하여를 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.


답변