Виберіть ім'я файлу Unicode в Bash


9

Добре; припустимо, я перебуваю в Bash і в мене є кілька файлів у папці. Кілька з них названі file☠☡☢☣.txt, де ☠☡☢☣починається з шалених незмінних символів unicode. Як я ставлюсь до одного з них? Натискання на вкладку автоматично завершується автоматично file, і тоді вона хоче, щоб ви ввели шаленого персонажа. Чи є якийсь спосіб сказати bash "виберіть 3-го в тому списку, який ви мені щойно дали"?

Відповіді:


9

Я б запропонував вам обійтись із цим і використовувати інший тип прив'язки ключів із лінією читання, наприклад Shift+ TAB. Додайте до свого ~/.inputrc:

"\e[Z": menu-complete

Потім видайте exec bash(потім слід прочитати налаштування у вашому ~/.inputrc). Одноразово, замість перезавантаження bash, ви можете встановити те саме прив'язку, запустивши bind '"\e[Z": menu-complete'.

Тепер ви повинні мати можливість використовувати повторювані ShiftTABпослідовності, щоб переглядати відповідні назви файлів (замість того, щоб вводити наступний відповідний символ). Це буде працювати для будь-якої команди, виданої (оскільки це стандартна команда для читання рядків, яка прив’язана до ShiftTABпослідовності). Як зазначає ОП, це не впливає на стандартну поведінку TABключа, просто додає функціональності ShiftTABкомбо.


відредаговано, щоб згадати про використання exec bash, оскільки це досить важливий крок для його роботи! ;)
Драв Слоун

Дякую! Для тих, хто цікавиться, це, здається, не змінює нормальну функціональність; він просто додає комбінацію клавіш shift-tab.
Ерханніс

Правильно, будь ласка, залиште мою клавішу вкладки в спокої !! :) Я був би засмучений, якщо це зміниться: D
Drav Sloan

3

Інший спосіб, який іноді працює, - це використовувати ?або використовувати *глобальні підстановки, а потім набрати частину залишків "матеріалів", поки ви не отримаєте унікальну відповідність із заповненням вкладки.


2

Перейдіть до каталогу, що містить 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.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.