1

Допустим, у меня есть несколько файлов в каталоге, которые все начинаются с одной строки

$ ls
  fileAA234 fileAA247 fileAA255 fileAA264
  fileAA269 fileAA277 fileAA285 fileAA294

Часто, просматривая такие файлы данных в командной строке, я просто хочу прочитать один, любой из этих файлов, чтобы увидеть, как они структурированы.

Но если я войду

$ less f 

И тогда нажмите вкладку для завершения ответ будет

$ less fileAA2
  fileAA234 fileAA247 fileAA255 fileAA264
  fileAA269 fileAA277 fileAA285 fileAA294

Что не делает меня намного ближе, чтобы открыть один из файлов.

Поэтому сейчас я либо использую мышь, чтобы пометить случайное имя файла и скопировать его, вставив его в подсказку, либо наклоняюсь вперед, чтобы мои бедные глаза нашли уникальную строку для завершения ввода имени файла.

Это простое решение для этого? Я просто упускаю что-то очевидное, верно? Мне бы очень хотелось иметь что-то вроде tab+enter для автозаполнения и открыть первый файл в списке, как в этом случае fileAA234 .

Спасибо за любую помощь. Я полагаю, что есть способ создать сценарий оболочки, комбинируя некоторые инструменты, такие как ls и head но я все еще новичок и сам пока не нашел решения.

2 ответа2

2

Для bash поместите следующее в ~/.inputrc:

"\C-i": menu-complete

Это заставит Tab всегда заполнять полные имена; нажмите еще раз, чтобы переключиться между завершениями

2

Просто используйте подстановочный знак (*):

$ less fileAAA*

Это откроет первый файл меньше. Когда вы доберетесь до конца файла, меньше перейдет к следующему. Если все, что вам нужно, это быстрый просмотр любого файла и всегда открывать первый (в алфавитно-числовом порядке) файл, все в порядке, просто нажмите "q", чтобы выйти меньше, как только вы увидите достаточно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .