확인; 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
.