Я пытаюсь найти несколько заархивированных файлов из одного каталога. Я использую zgrep для поиска по одному файлу или по всем символам подстановки. Вот что я сейчас пытаюсь:
Файлы: 04112012.z, 04122012.z, 04132012.z и т. Д. И т. Д.
zgrep <search criteria> 0412* | less
Есть ли способ поиска, скажем, только 04112012.z и 04122012.z?
Спасибо.
Да, можно определить конкретные имена файлов на командной строке, разделенной пространством, после того, как все необходимые командные коммутаторы были даны, но перед передачей по каналу результатов к less
в случае.
Как пример, Вы могли использовать команду ниже. Эти -i
переключатель используется так, чтобы регистр игнорировался (и верхний регистр и результаты нижнего регистра, возвращаются), и -E
вызывается так, чтобы расширенные регулярные выражения могли использоваться:
zgrep -E -i 'gtk|layout' myfile1.gz myfile2.txt.gz myfile3.Z | less
, Как Вы знаете, можно использовать *
вместо имени файла для выбора всех файлов в той папке так, чтобы grep
перерыл тех. Кроме того, Вы могли также использовать --include=regex
и --exclude=regex
переключатели для предназначения для определенных групп имен файлов, как объяснены в этой статье здесь .
, Если Вы взглянули на /bin/zgrep
(работает cat /bin/zgrep
), это - на самом деле просто сценарий обертки и все нормальное grep
, командные коммутаторы допустимы, когда это вызывается. Как отмечен в zgrep страница справочника ,
, Zgrep вызывает grep на сжатые или gzipped файлы. Все определенные опции передаются непосредственно grep. Если никакой файл не определяется, то стандартный вход распаковывается при необходимости и питается к grep. Иначе данные файлы являются несжатыми при необходимости и питаются к grep.
Для получения дополнительной информации, см. man zgrep
, man grep
и соответствующий страницы справочника Ubuntu онлайн .