locate -e0 '*/pg_type.h' | xargs -r0 cat
locate pg_type.h
нашел бы все файлы с pg_type.h
в их пути (так, например, если был a rpg_type.horn
каталог, Вы закончили бы тем, что отобразили все файлы там).
Без -0
вывод locate
не может быть выполнен последующую обработку, потому что файлы разделяются символами новой строки, в то время как новая строка является совершенно допустимым символом в имени файла.
cat
без аргументов пишет в stdout, что это читает из stdin, таким образом, locate | cat
совпал бы с locate
, cat
просто передал бы вывод locate
вперед. То, в чем Вы нуждаетесь, должно передать список файлов как аргументы cat
.
Это что xargs
обычно для: преобразуйте поток данных в список аргументов. -r
не должен звонить cat
если нет никакого входа. Без -0
(который как -r
не является стандартным, но не найден на многих реализациях, по крайней мере, они, где xargs полезен для чего-либо), xargs
просто искал бы слова в его входе для преобразования в аргументы, где слова являются разделенным пробелом и где обратная косая черта, одинарные и двойные кавычки могут использоваться для выхода из тех разделителей, так обычно не формат locate
использование к именам дисплейного файла.
Вот почему мы используем -0
опция для обоих locate
и xargs
который использует символ NUL (который является единственным символом, не позволенным в пути к файлу) разделить имена файлов.
Также отметьте это locate
не стандартная команда, и там существуйте большое количество различных реализаций с различными версиями этого и различными вариантами и поведениями. Код выше применяется, по крайней мере, к относительно последним версиям GNU locate
и mlocate
реализации, которые наиболее распространены в основанных на Linux операционных системах, по крайней мере.
Этот чит-лист [114410]хороший[114411] истории также может помочь.[114010].
Если вы хотите иметь возможность делать это несколько раз, поместите пробел перед [114486] историей [114487] или используйте:
Если вы просто хотите увидеть последнюю команду, начинающуюся с шаблона [114488]xyz[114489]:
Но это не сработает, если шаблон будет исходными символами "истории", и тогда вам понадобится что-то вроде:
А затем можно ввести какой-нибудь текст, а затем [114534]Alt-p[114535] для поиска последних команд, которые начинают те же самые (и [114536]Alt-p[114537], [114538]Alt-n[114539] для их циклического прохождения туда-сюда).
(По умолчанию эти клавиши привязываются к аналогичным виджетам в [114540]zsh[114541])[114101] .Затем [114662] источник ~/.inputrc[114663] в оболочку (или просто перезапустите оболочку).
Теперь Вы можете набрать несколько букв команды, а затем использовать стрелки вверх/вниз для перемещения по командам, которые начинаются с этих нескольких букв. [114189]