АнглийскийФранцузскийИспанский

Значок OnWorks

ack-grepp - Онлайн в облаке

Запустите ack-grepp в провайдере бесплатного хостинга OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда ack-grepp, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


ack - поиск текста в стиле grep

СИНТАКСИС


ack [параметры] ШАБЛОН [ФАЙЛ ...]
ack -f [параметры] [СПРАВОЧНИК ...]

ОПИСАНИЕ


Ack разработан как альтернатива GREP для программистов.

Ack ищет именованные входные ФАЙЛЫ (или стандартный ввод, если файлы не имеют имени, или файл
name - задается) для строк, содержащих совпадение с заданным ШАБЛОНОМ. По умолчанию подтверждение
печатает совпадающие строки.

ШАБЛОН - это регулярное выражение Perl. Регулярные выражения Perl обычно встречаются в
другие языки программирования, но подробности их поведения см.
<http://perldoc.perl.org/perlreref.html| perlreref>. Если вы не знаете, как использовать обычный
выражение, но заинтересованы в обучении, вы можете проконсультироваться
<http://perldoc.perl.org/perlretut.html| перлретут>. Если вам не нужно или вы хотите использовать ack
регулярные выражения, см. параметр "-Q" / "- literal".

Ack также может отображать файлы, в которых будет выполняться поиск, без фактического поиска в них, чтобы позволить
вы пользуетесь возможностями фильтрации файлов по типу ack.

ФАЙЛОВ ВЫБОР


Если файлы не указаны для поиска, либо в командной строке, либо переданы с помощью
параметр "-x", ACK копается в подкаталогах, выбирая файлы для поиска.

ACK разбирается в файлах, которые ищет. Он знает о некоторых типах файлов на основе
как для расширения файла, так и, в некоторых случаях, для содержимого файла. Эти
выбор можно сделать с помощью --тип опцию.

Без выбора файла ACK ищет в обычных файлах, которые явно не
исключен --игнорировать-дир и --ignore-файл варианты, присутствующие в подтверждение файлы или на
командная строка.

Параметры по умолчанию для ACK игнорировать определенные файлы и каталоги. К ним относятся:

· Резервные файлы: файлы совпадают # * # или заканчивая ~.

· Coredumps: соответствие файлов ядро. \ d +

· Каталоги контроля версий, такие как .svn и .git.

Run ACK с опцией «--dump», чтобы увидеть, какие настройки установлены.

Однако ACK всегда ищет файлы, указанные в командной строке, независимо от типа. Если
ты говоришь ACK чтобы искать в coredump, он будет искать в coredump.

СПРАВОЧНИК ВЫБОР


ACK спускается по дереву каталогов указанных начальных каталогов. Если нет
каталоги указаны, используется текущий рабочий каталог. Однако он проигнорирует
теневые каталоги, используемые многими системами контроля версий, и каталоги сборки
используется системой Perl MakeMaker. Вы можете добавить или удалить каталог из этого списка с помощью
- [нет] ignore-dir вариант. Опция может быть повторена для добавления / удаления нескольких каталогов.
из списка игнорирования.

Чтобы получить полный список каталогов, в которых не выполняется поиск, выполните команду «ack --dump».

КОГДА К ИСПОЛЬЗОВАНИЕ ГРЭП


ACK козыри GREP как повседневный инструмент в 99% случаев, но не бросайте GREP прочь, потому что
бывают случаи, когда он вам все еще понадобится.

Например, поиск в огромных файлах регулярных выражений, которые можно выразить с помощью GREP
синтаксис должен быть быстрее с GREP.

Если ваш скрипт или родительская программа использует GREP "--quiet" или "--silent" либо требуется выход 2 для ввода-вывода
ошибка, используйте GREP.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


--ackrc
Задает файл ackrc для загрузки после всех остальных; см. "СЕМАНТИКА МЕСТОПОЛОЖЕНИЯ ACKRC".

-A NUM, --after-context =NUM
Печать NUM строки конечного контекста после совпадающих строк.

-B NUM, --before-context =NUM
Печать NUM строки ведущего контекста перед совпадающими строками.

--[без перерыва
Распечатайте перерыв между результатами из разных файлов. По умолчанию при использовании
интерактивно.

-C [NUM], --context [=NUM]
Печать NUM строки (по умолчанию 2) контекста вокруг совпадающих строк.

-c, --считать
Подавить нормальный вывод; вместо этого выведите количество совпадающих строк для каждого входного файла.
If -l действует, он покажет только количество строк для каждого файла, в котором есть строки
соответствие. Без -l, количество строк может быть нулевым.

В сочетании с -h (--без имени файла) ack выводит только одно общее количество.

- [нет] цвет, - [нет] цвет
--цвет выделяет соответствующий текст. --ноцвет подавляет цвет. Это продолжается
по умолчанию, если вывод не перенаправлен.

В Windows этот параметр отключен по умолчанию, если только модуль Win32 :: Console :: ANSI не установлен.
установлен или используется переменная среды "ACK_PAGER_COLOR".

--color-filename =цвет
Устанавливает цвет, который будет использоваться для имен файлов.

--цвет-совпадение =цвет
Устанавливает цвет, который будет использоваться для спичек.

--color-белье =цвет
Устанавливает цвет, который будет использоваться для номеров строк.

- [нет] столбец
Покажите номер столбца первого совпадения. Это полезно для редакторов, которые могут размещать
ваш курсор в данной позиции.

--create-ackrc
Выводит параметры подтверждения по умолчанию в стандартный вывод. Это полезно, когда вы хотите
настройте значения по умолчанию.

--свалка
Записывает список загруженных опций и их источник в стандартный вывод. Удобный
для отладки.

- [нет] env
--noenv отключает всю обработку среды. Нет .ackrc читается и вся среда
переменные игнорируются. По умолчанию, ACK считает .ackrc и настройки в
окружающей среды.

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

-f Распечатывайте только те файлы, в которых будет производиться поиск, без фактического поиска.
ШАБЛОН нельзя указывать, иначе он будет использован в качестве пути для поиска.

--files-from =ФАЙЛОВ
Список файлов для поиска указан в ФАЙЛОВ. Список файлов
разделенные новой строкой. Если ФАЙЛОВ стоит «-», список загружается со стандартного ввода.

--[нет фильтра
Заставляет ack действовать так, как если бы он получал ввод через канал.

--[не следует
Следуйте или не переходите по символическим ссылкам, кроме любых начальных файлов или каталогов
были указаны в командной строке.

По умолчанию это отключено.

-g ШАБЛОН
Распечатать файлы, в которых совпадают относительный путь + имя файла ШАБЛОН. Этот вариант может быть
в сочетании с --цвет чтобы было легче найти совпадение.

- [нет] группа
--группа группирует совпадения по имени файла. Это значение по умолчанию при интерактивном использовании.

--ногруппа выводит по одному результату в каждой строке, как grep. Это значение по умолчанию, когда вывод
перенаправлен.

-H, --с именем файла
Выведите имя файла для каждого совпадения. Это значение по умолчанию, если не выполняется поиск в одном
явно указанный файл.

-h, --без имени файла
Отключить префикс имен файлов на выходе при поиске нескольких файлов.

- [нет] заголовок
Напечатайте заголовок имени файла над результатами каждого файла. Это значение по умолчанию при использовании
интерактивно.

--Помогите, -?
Распечатайте краткую справку.

--help-типы, --help = типы
Распечатайте все известные типы.

-i, --игнорировать регистр
Игнорировать регистр в ШАБЛОНЕ

--ignore-ack-по умолчанию
Сообщает ack полностью игнорировать определения по умолчанию, предоставленные с помощью ack. Это
полезно в сочетании с --create-ackrc если вы на самом деле хочу настроить акк.

- [нет] ignore-dir =ИМЯ КАТАЛОГА, - [нет] ignore-directory =ИМЯ КАТАЛОГА
Игнорировать каталог (поскольку игнорируются CVS, .svn и т. Д.). Может использоваться несколько раз, чтобы игнорировать
несколько каталогов. Например, пользователи каменщика могут захотеть включить --ignore-dir = данные.
Команда --noignore-дир опция позволяет пользователям искать каталоги, которые обычно
игнорируется (возможно, для исследования содержимого .svn / реквизит каталоги).

Команда ИМЯ КАТАЛОГА всегда должно быть простым именем каталога. Вложенные каталоги, например foo / bar
НЕ поддерживаются. Вам нужно будет указать --ignore-dir = foo а затем нет файлов из
любой каталог foo учитывается ack, если это явно не указано в команде
линии.

--ignore-file =FILTERTYPE: FILTERARGS
Игнорировать соответствие файлов FILTERTYPE: FILTERARGS. Фильтры указаны идентично
фильтры типов файлов, как показано в разделе «Определение собственных типов».

-k, --известные типы
Ограничьте выбранные файлы теми, типы которых известны ack. Это эквивалентно
поведение по умолчанию, найденное в ack 1.

--lines =NUM
Только линия печати NUM каждого файла. Несколько строк могут быть заданы несколькими --линии
параметры или в виде списка, разделенного запятыми (--lines = 3,5,7). --lines = 4-7 тоже работает. В
строки всегда выводятся в возрастающем порядке, независимо от порядка, указанного в команде
линии.

-l, - файлы с совпадениями
Печатайте только имена файлов совпадающих файлов вместо соответствующего текста.

-L, --файлы без совпадений
Печатайте только имена файлов, которые НЕ совпадать.

--соответствие ШАБЛОН
Укажите ШАБЛОН явно. Это полезно, если вы не хотите помещать регулярное выражение как
ваш первый аргумент, например, при выполнении нескольких поисков по одному и тому же набору файлов.

# поиск foo и bar в заданных файлах
ack file1 t / file * --match foo
ack file1 t / file * - панель соответствия

-m =NUM, --max-count =NUM
Прекратить чтение файла после NUM Матчи.

--человек
Распечатайте эту страницу руководства.

-n, - без рекурсии
Не спускаться по подкаталогам.

-o Показывать только часть каждой строки, соответствующую ШАБЛОНУ (отключает выделение текста)

--output =выраж
Выведите оценку выраж для каждой строки (выключает выделение текста) Если ШАБЛОН
совпадает более одного раза, тогда для каждого неперекрывающегося совпадения выводится строка. Для большего
информацию смотрите в разделе «Примеры --выход".

--pager =программа, --nopager
--пейджер направляет вывод подтверждения через программа. Это также можно указать с помощью
Переменные среды «ACK_PAGER» и «ACK_PAGER_COLOR».

Использование --pager не подавляет группировку и окраску, как вывод конвейера на
командная строка делает.

--nopager отменяет любую настройку в ~ / .ackrc, «ACK_PAGER» или «ACK_PAGER_COLOR». Нет
вывод будет отправлен через пейджер.

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

# Просмотрите файл журнала и выделите определенный IP-адрес
$ хвост -f ~ / access.log | ack --passthru 123.45.67.89

--print0
Работает только вместе с -f, -g, -l или -c (вывод имени файла). Имена файлов
вывод разделен нулевым байтом вместо обычного символа новой строки. Это полезно, когда
работа с именами файлов, содержащими пробелы, например

# удалить все файлы типа html
подтверждение -f --html --print0 | xargs -0 пм -f

-Q, - буквальный
Заключите в кавычки все метасимволы в ШАБЛОНЕ, он рассматривается как литерал.

-r, -R, - рекурсивный
Рекурсия в подкаталоги. Это значение по умолчанию и только здесь для совместимости с
grep. Вы также можете использовать его для поворота - без рекурсии выкл.

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

- [нет] смарт-футляр, --нет-умный чехол
Игнорировать регистр в строках поиска, если ШАБЛОН не содержит символов верхнего регистра. Это
аналогично "smartcase" в vim. Этот параметр отключен по умолчанию и игнорируется, если "-i" установлен.
указано.

-i всегда отменяет эту опцию.

--sort-файлы
Сортирует найденные файлы лексикографически. Используйте это, если вы хотите, чтобы ваши списки файлов
быть детерминированным между сериями ACK.

--show-типы
Выводит типы файлов, которые ack ассоциирует с каждым файлом.

Работает с -f и -g настройки.

--type = [нет] ТИП
Укажите типы файлов, которые нужно включить или исключить из поиска. TYPE - это тип файла,
" У аборигенов Perl or XML. --type = perl также можно указать как --перли --type = noperl
быть сделано как --ноперл.

Если файл имеет оба типа «foo» и «bar», указание --foo и --nobar исключает
файл, потому что исключение имеет приоритет перед включением.

Спецификации типа могут повторяться и объединяться ИЛИ.

Увидеть ACK --help = типы для списка допустимых типов.

--type-добавить ТИП:ФИЛЬТР:ФИЛЬТРЫ
Файлы с заданными FILTERARGS, примененными к данному ФИЛЬТРУ, распознаются как относящиеся к
(существующий) типа ТИП. См. Также «Определение ваших собственных типов».

--type-set ТИП:ФИЛЬТР:ФИЛЬТРЫ
Файлы с заданными FILTERARGS, примененными к данному ФИЛЬТРУ, распознаются как относящиеся к
введите ТИП. Это заменяет существующее определение типа TYPE. См. Также «Определение
ваши собственные типы ».

--тип-дель ТИП
Фильтры, связанные с TYPE, удаляются из Ack и больше не рассматриваются.
для поисков.

-v, --invert-match
Инвертировать соответствие: выберите несовпадающие строки

--версия
Показать версию и информацию об авторских правах.

-w, --слово-регулярное выражение
Заставить ШАБЛОН соответствовать только целым словам. ШАБЛОН заключен в "\ b"
метасимволы.

-x Сокращение для --files-from = -; список файлов для поиска читается из стандартных
ввод, по одной строке на файл.

-1 Останавливается после сообщения о первом матче любого типа. Это отличается от --max-count = 1
or -м1, где отображается только одно совпадение для каждого файла. Также, -1 Работает с -f и -g, Где
-m не.

--thpppt
Покажите важнейший логотип Bill The Cat. Обратите внимание, что точное написание
--thpppppt не важно. Проверяется по регулярному выражению.

--бар
Поищите у адмирала ловушки.

Кэти
Шоколад, шоколад, шоколад!

.ackrc ФАЙЛОВ


Команда .ackrc файл содержит параметры командной строки, которые добавляются к командной строке.
перед обработкой. Несколько вариантов могут находиться в нескольких строках. Строки, начинающиеся с символа #
игнорируются. А .ackrc может выглядеть так:

# Всегда сортировать файлы
--sort-файлы

# Всегда раскрашивать, даже при переходе к другой программе
--цвет

# Используйте "less -r" в качестве моего пейджера
--pager = меньше -r

Обратите внимание, что аргументы с пробелами в них не нужно заключать, так как они не
интерпретируется оболочкой. В основном каждый линия в .ackrc файл интерпретируется как один
элемент @ARGV.

ACK ищет в нескольких местах для .ackrc файлы; процесс поиска подробно описан в
"СЕМАНТИКА МЕСТОПОЛОЖЕНИЯ ACKRC". Эти файлы не рассматриваются, если --noenv указано на
командная строка.

Определяющий собственный Типы


ack позволяет вам определять свои собственные типы в дополнение к предопределенным типам. Готово
с параметрами командной строки, которые лучше всего поместить в .ackrc файл - тогда не обязательно
определяйте свои типы снова и снова. В следующих примерах варианты всегда будут
отображаться в одной командной строке, чтобы их можно было легко скопировать и вставить.

ACK --перл Foo ищет foo во всех файлах perl. ACK --help = типы говорит вам, что Perl
файлы - это файлы с расширением .pl, .pm, .pod или .t. Так что, если вы хотите включить .xs
files также при поиске файлов --perl? ACK --type-добавить perl: ext: xs --перл Foo приносит
это для тебя. --type-добавить добавляет дополнительные расширения к существующему типу.

Если вы хотите определить новый тип или полностью переопределить существующий тип, используйте
--type-set. ACK --type-set eiffel: ext: e, eiffel определяет тип эйфель включить файлы
с расширениями .e или .eiffel. Итак, чтобы найти все файлы eiffel, содержащие слово
Бертран использует ACK --type-set eiffel: ext: e, eiffel - Эйфель Бертран. Как обычно, вы также можете
записывать --type = eiffel вместо - Эйфель. Отрицание тоже работает, поэтому - Ноейфель исключает все
eiffel файлы из поиска. Переопределение также работает: ACK --type-set cc: ext: c, h и .xs файлов
больше не принадлежат к типу cc.

При определении ваших собственных типов в .ackrc файл необходимо использовать следующее:

--type-set = eiffel: ext: e, eiffel

или писать отдельными строками

--type-set
eiffel: ext: e, eiffel

Следующее делает НЕ работать в .ackrc файл:

--type-set eiffel: ext: e, eiffel

Чтобы увидеть все определенные в настоящее время типы, используйте --help-типы, например ACK --type-set
резервное копирование: ext: bak --type-добавить perl: ext: perl --help-типы

В дополнение к фильтрации на основе расширения (например, разрешено ack 1.x), ack 2 предлагает
дополнительные типы фильтров. Общий синтаксис: --type-set ТИП: ФИЛЬТР: FILTERARGS;
ФИЛЬТРЫ зависит от стоимости ФИЛЬТР.

это:ИМЯ ФАЙЛА
is фильтры точно соответствуют целевому имени файла. Требуется ровно один аргумент:
имя файла для сопоставления.

Пример:

--type-set make: is: Makefile

доб .:РАСПРОСТРАНЕНИЕ[,РАСШИРЕНИЕ2[, ...]]
Ext фильтры сопоставляют расширение целевого файла со списком расширений. Нет
ведущая точка необходима для расширений.

Пример:

--type-set perl: ext: pl, pm, t

игра:ШАБЛОН
совпадение фильтры сопоставляют имя целевого файла с регулярным выражением. Регулярный
выражение сделано без учета регистра для поиска.

Пример:

--type-set make: match: / (gnu)? makefile /

соответствие первой линии:ШАБЛОН
первая линия сопоставляет первую строку целевого файла с регулярным выражением.
Подобно совпадение, регулярное выражение нечувствительно к регистру.

Пример:

--type-add perl: firstlinematch: / perl /

В будущем могут быть доступны другие типы фильтров.

ОКРУЖАЮЩАЯ СРЕДА ПЕРЕМЕННЫЕ


Для часто используемых параметров подтверждения переменные среды могут значительно облегчить жизнь. Эти
переменные игнорируются, если --noenv указывается в командной строке.

АККР
Определяет местонахождение пользователя .ackrc файл. Если этого файла не существует, ACK
смотрит в место по умолчанию.

ACK_OPTIONS
Эта переменная указывает параметры по умолчанию, которые должны быть помещены перед любыми явными параметрами.
в командной строке.

ACK_COLOR_FILENAME
Задает цвет имени файла при его печати в --группа режим. По умолчанию,
это «жирный зеленый».

Распознаваемые атрибуты: четкий, сбросить, темный, жирный, подчеркивание, подчеркивание, мигание,
реверс, скрытый черный, красный, зеленый, желтый, синий, пурпурный, on_black, on_red,
on_green, on_yellow, on_blue, on_magenta, on_cyan и on_white. Дело не
значительный. Подчеркивание и подчеркивание эквивалентны, так как они очищаются и сбрасываются. В
Только color устанавливает цвет переднего плана, а on_color устанавливает цвет фона.

Этот параметр также можно установить с помощью --color-имя_файла.

ACK_COLOR_MATCH
Задает цвет совпадающего текста при печати в --цвет режим. По умолчанию,
это «черный на желтом».

Этот параметр также можно установить с помощью --совпадение цветов.

Увидеть ACK_COLOR_FILENAME для цветовых характеристик.

ACK_COLOR_LINEНЕТ
Задает цвет номера строки при печати в --цвет режим. По умолчанию это
«жирный желтый».

Этот параметр также можно установить с помощью --цвет-льняной.

Увидеть ACK_COLOR_FILENAME для цветовых характеристик.

ACK_PAGER
Задает программу пейджера, например «больше», «меньше» или «больше всего», на которую будет отправлено подтверждение.
его выход.

Использование "ACK_PAGER" не подавляет группировку и окраску, как вывод конвейера на
командная строка делает, за исключением того, что в Windows ack будет предполагать, что "ACK_PAGER" не
цвет поддержки.

«ACK_PAGER_COLOR» переопределяет «ACK_PAGER», если оба указаны.

ACK_PAGER_COLOR
Задает программу пейджера, которая понимает цветовые последовательности ANSI. С использованием
"ACK_PAGER_COLOR" не подавляет группировку и окраску, как вывод канала на
командная строка делает.

Если вы не в Windows, вам никогда не нужно использовать «ACK_PAGER_COLOR».

В НАЛИЧИИ ЦВЕТЫ


ACK использует цвета, доступные в модуле Perl Term :: ANSIColor, который предоставляет
следующие перечисленные значения. Обратите внимание, что регистр не имеет значения при использовании этих значений.

передний план цвета
черный красный зеленый желтый синий пурпурный голубой белый

яркий_черный яркий_красный яркий_зеленый яркий_желтый
яркий_ синий яркий_ пурпурный

проверка данных цвета
на_черном на_красном на_зеленом на_желтом
on_blue on_magenta on_cyan on_white

on_bright_black on_bright_red on_bright_green on_bright_yellow
on_bright_blue on_bright_magenta on_bright_cyan on_bright_white

ACK & ДРУГИЕ ИНСТРУМЕНТЫ


напор интеграции.
ACK легко интегрируется с текстовым редактором Vim. Установите это в свой .vimrc использовать ACK вместо
of GREP:

установить grepprg = ack \ -k

В этом примере "-k" используется для поиска только файлов тех типов, о которых знает ack, но вы
может использовать другие флаги по умолчанию. Теперь вы можете искать с ACK и легко пройти через
результаты в Vim:

: grep Dumper perllib

Майлз Стерретт написал плагин Vim для ACK что позволяет использовать ": Ack" вместо
": grep", а также несколько других дополнительных функций.



Emacs интеграции.
Фил Джексон собрал акк.эль расширение, которое "обеспечивает простой режим компиляции ...
имеет возможность угадывать, какие файлы вы хотите искать, на основе основного режима ".

<http://www.shellarchive.co.uk/content/emacs.html>

TextMate интеграции.
Педро Мело, пользователь TextMate, пишет: «Я провожу свой день в основном в TextMate, и
встроенная функция find-in-project - отстой с большими проектами. Итак, я взломал команду TextMate, которая
использовал find + grep для использования ack. Результатом является поиск в проекте с подтверждением, и вы
можно найти здесь:
<http://www.simplicidade.org/notes/archives/2008/03/search_in_proje.html>"

Оболочка и ВОЗВРАТ Code
Для большей совместимости с GREP, ACK при нормальном использовании возвращает код возврата или выхода из оболочки
0, только если что-то найдено, и 1, если совпадение не найдено.

(Код выхода 1 оболочки - «$? = 256» в perl с «системой» или обратными кавычками.)

Команда GREP код 2 для ошибок не используется.

Если указаны «-f» или «-g», то возвращается 0, если найден хотя бы один файл. Если нет
файлы найдены, то возвращается 1.

ОТЛАДКА ACK ПРОБЛЕМЫ


Если ack дает результат, которого вы не ожидаете, начните с нескольких простых шагов.

Используйте --noenv
Переменные вашей среды и .ackrc может делать то, чего вы не ожидаете, или
забыл, что вы указали. Использовать --noenv игнорировать ваше окружение и .ackrc.

Используйте -f в посмотреть почему файлов встали на сторону было выбранный
Ака -f изначально был добавлен как средство отладки. Если ack не находит подходящих вам
думаю, он должен найти, беги ACK -f чтобы увидеть, какие файлы были выбраны. Вы также можете добавить
параметры "--show-types", чтобы показать тип каждого выбранного файла.

Используйте --свалка
Здесь перечислены загруженные файлы ackrc и загруженные из них параметры. Таким образом, для
Например, вы можете найти список каталогов, в которых не ведется поиск, или в которых указаны типы файлов.
определены.

СОВЕТЫ


Используйте .ackrc .
Команда .ackrc это место, где можно разместить все ваши варианты, которые вы используете большую часть времени, но не хотите
Помните. Поместите в него все ваши определения --type-add и --type-set. Если хочешь
--smart-case, поставь тоже туда. Я также установил там --sort-files.

Используйте -f для работает big кодовые наборы
Ack делает больше, чем просто поиск файлов. "ack -f --perl" создаст список всех файлов Perl
в дереве, идеально подходит для отправки в xargs. Например:

# Измените все "это" на "то" во всех файлах Perl в дереве.
ack -f --perl | xargs perl -p -i -e's / this / that / g '

или если вы предпочитаете:

perl -p -i -e's / это / то / g '$ (ack -f --perl)

Используйте -Q когда in сомневаюсь в отношении метасимволы
Если вы ищете что-то с метасимволом регулярного выражения, чаще всего
точку в имени файла или IP-адресе, добавьте -Q, чтобы избежать ложных срабатываний без всех
обратная косая черта. См. Следующий пример для получения дополнительной информации ...

Используйте ACK в смотреть журнал файлов
Вот один, который я использовал на днях, чтобы найти проблемные места для посетителя веб-сайта. Пользователь имел
проблема с загрузкой проблемный.gif, поэтому я взял журнал доступа и дважды просканировал его с помощью ack.

ack -Q aa.bb.cc.dd /path/to/access.log | ack -Q -B5 Troubleome.gif

Первое подтверждение находит только строки в журнале Apache для данного IP-адреса. Вторая находка
совпадение на моем проблемном GIF, и показывает предыдущие пять строк из журнала в каждом
дело.

Примеры of --выход
В строке раскрытия полезны следующие переменные:

$ & Вся строка, соответствующая ШАБЛОНУ.

1 доллар, 2 доллара, ...
Содержимое 1-й, 2-й ... заключенной в квадратные скобки группы в ШАБЛОН.

"$` "
Строка перед совпадением.

"$ '"
Строка после совпадения.

Для получения дополнительной информации и других переменных см.
<http://perldoc.perl.org/perlvar.html# Переменные, связанные с регулярными-выражениями | perlvar>.

В этом примере показано, как добавить текст вокруг определенного шаблона (в данном случае добавление _
вокруг слова с "е")

ack2.pl "\ w * e \ w *" quick.txt --output = "$` _ $ & _ $ '"
_Быстрая коричневая лиса прыгает через ленивую собаку
Быстрая коричневая лиса прыгает через ленивую собаку
Быстрая коричневая лиса прыгает через ленивую собаку

Это показывает, как выделять определенные части совпадения с помощью () в обычном
выражение.

ack '= голова (\ d +) \ s + (. *)' --output = '$ 1: $ 2'
входной файл содержит "= head1 NAME"
вывод "1: NAME"

Поделиться знания
Присоединяйтесь к списку рассылки ack-users. Присылайте мне свои советы, и я могу добавить их сюда.

FAQ


почему Не ACK обнаружение a совпадение in (несколько файл)?
Вероятно, потому что это тот тип, который ack не распознает. поисковое поведение ack
управляемый типом файла. If ACK не знают почему вид of файл it является, ACK игнорируемых .

Используйте переключатель «-f», чтобы увидеть список файлов, которые ack будет искать для вас. Вы можете использовать
Переключатель «--show-types», показывающий, к какому типу относится каждый файл, подтвержденный подтверждением.

Не стал бы it be большой if ACK сделал по области применения & заменять?
Нет, подтверждение всегда будет доступно только для чтения. В Perl есть отличный способ выполнять поиск и замену в
файлы, используя переключатели "-i", "-p" и "-n".

Вы, безусловно, можете использовать ack для выбора файлов для обновления. Например, чтобы изменить все
«foo» на «bar» во всех файлах PHP, вы можете сделать это из оболочки Unix:

$ perl -i -p -e's / foo / bar / g '$ (ack -f --php)

Может I сделать ACK признавать .xyz файлы?
Да! См. «Определение собственных типов». Если ты думаешь, что ACK должен распознать тип
по умолчанию см. «УЛУЧШЕНИЯ».

Там в уже a программа / пакет под названием ак.
Да, я знаю.

почему is it под названием ACK if это под названием ак-греп?
Название программы - «ack». Некоторые разработчики пакетов называют это "ack-grep" при создании
пакеты, потому что там уже есть пакет под названием "ack", который не имеет ничего общего
с этим акк.

Я предлагаю вам создать символическую ссылку с именем ACK это указывает на ак-греп потому что один из важнейших
Преимущество ack в том, что у него такое короткое и простое для ввода имя.

Для этого запустите это с Sudo или как root:

лн -s / usr / bin / ack-grep / usr / bin / ack

В качестве альтернативы вы можете использовать псевдоним оболочки:

# bash / zsh
псевдоним ack = ack-grep

# сш
псевдоним ack ack-grep

Что приносит ACK значит?
Ничего такого. Я хотел имя, которое было бы легко набирать и которое можно было бы произносить как единое целое.
слог.

Может I do многострочный регулярные выражения?
Нет, ack не поддерживает регулярные выражения, соответствующие нескольким строкам. Для этого потребуется
чтение всего файла за раз.

Если вы хотите видеть линии рядом с вашим совпадением, используйте переключатели «--A», «--B» и «--C» для
отображение контекста.

почему is ACK говорят me I встали на сторону an недействительный вариант когда поиск для "+ foo"?
ack рассматривает параметры командной строки, начинающиеся с «+» или «-», как параметры; если ты хочешь
поиск их, вы можете префикс своего поискового запроса "-" или использовать опцию "--match".
(Однако не забывайте, что «+» - это метасимвол регулярного выражения!)

почему приносит "подтверждать" '. {40000,}' " потерпеть поражение? не который a действительный регулярное выражение?
Язык Perl ограничивает количественный показатель повторения 32 КБ. Вы можете выполнить поиск по запросу ". {32767}"
но не ". {32768}".

АККР Местонахождения: СЕМАНТИКА


Ack может загружать свою конфигурацию из многих источников. В этом списке указаны источники Ack
ищет конфигурацию; каждый найденный загружается в указанном здесь порядке, и
каждый из них переопределяет параметры, установленные в любом из предшествующих ему источников. (Например, если я установил
--sort-files в моем пользовательском ackrc и --nosort-files в командной строке, в командной строке
имеет приоритет)

· Значения по умолчанию загружаются из App :: Ack :: ConfigDefaults. Это можно опустить, используя
"--ignore-ack-defaults".

· Глобальное подтверждение

Затем параметры загружаются из глобального файла ackrc. Он находится в "/ etc / ackrc" на
Unix-подобные системы.

В Windows XP и более ранних версиях ackrc находится в "C: \ Documents and Settings \ All".
Пользователи \ Данные приложения \ ackrc ".

В Windows Vista / 7 глобальный ackrc находится в «C: \ ProgramData».

Параметр «--noenv» предотвращает загрузку всех файлов ackrc.

· Подтверждение пользователя

Затем параметры загружаются из пользовательского файла ackrc. Он находится в "$ HOME / .ackrc" на
Unix-подобные системы.

В Windows XP и более ранних версиях подтверждение пользователя находится в "C: \ Documents and
Настройки \ $ USER \ Application Data \ ackrc ".

Под Windows Vista / 7 пользовательский ackrc находится на .

Если вы хотите загрузить ackrc другого уровня пользователя, его можно указать с помощью $ ACKRC
переменная среды.

Параметр «--noenv» предотвращает загрузку всех файлов ackrc.

· Проект ackrc

Затем параметры загружаются из проекта ackrc. Проект ackrc - это первый ackrc
файл с именем ".ackrc" или "_ackrc", сначала поиск в текущем каталоге,
затем родительский каталог, затем родительский каталог и т. д. Это можно не указывать
используя "--noenv".

· --Ackrc

Параметр "--ackrc" может быть включен в командную строку, чтобы указать файл ackrc, который
может перекрыть все остальные. Консультируется, даже если присутствует "--noenv".

· ACK_OPTIONS

Затем параметры загружаются из переменной среды «ACK_OPTIONS». Это может быть
опущено с помощью "--noenv".

· Командная строка

Затем параметры загружаются из командной строки.

РАЗЛИЧИЯ МЕЖДУ ACK 1.X И ACK 2.X


В ack 2 внесено много изменений; вот их список.

ОБЩАЯ ИНФОРМАЦИЯ ШАНГИ
· Если селекторы не указаны, ack 1.x ищет только файлы, которые он может сопоставить
к типу файла. ack 2.x, напротив, будет перебирать все обычные, небинарные
файл, который явно не игнорируется через --ignore-файл or --игнорировать-дир. Это
похоже на поведение -a / - все опция в ack 1.x.

· Была добавлена ​​более гибкая система фильтров, так что более мощные типы файлов могут быть
созданный пользователем. За подробностями обращайтесь к разделу «Определение собственных типов».

· Ack теперь загружает несколько файлов ackrc; см. "СЕМАНТИКА МЕСТОПОЛОЖЕНИЯ ACKRC" для получения подробной информации.

· Определения фильтров по умолчанию для ack не являются специальными; Вы можете сказать "Подтверждение" полностью
игнорируйте их, если они вам не нравятся.

REMOVED ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
· Из-за изменения поведения поиска по умолчанию -a / - все и -u / - неограниченно
варианты были удалены. В дополнение -k / - известные типы опция была добавлена ​​в
заставить ack вести себя с поведением поиска по умолчанию ack 1.x.

· The -G опция была удалена. Два регулярных выражения в командной строке были
считается слишком запутанным; смоделировать -Gфункциональности, вы можете использовать новый -x
опция для перенаправления имен файлов из одного вызова ack в другой.

· The - двоичный опция была удалена.

· The - пропущен опция была удалена.

· The --текст опция была удалена.

· The --invert-file-match опция была удалена. Вместо этого вы можете использовать -v -g.

ИЗМЕНИТЬ ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
· Параметры, изменяющие поведение регулярного выражения (-i, -w, -Qи -v) может сейчас
использоваться с -g.

ADDED ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
· --файлы-из был добавлен, чтобы пользователь мог отправить список имен файлов в виде списка
файлы для поиска.

· -x был добавлен, чтобы указать ack принять список имен файлов через стандартный ввод; этот список
это список имен файлов, которые будут использоваться для поиска.

· -s был добавлен, чтобы сообщить ack для подавления сообщений об ошибках о несуществующих или нечитаемых
файлы.

· --игнорировать-каталог и --noignore-каталог были добавлены как псевдонимы для --игнорировать-дир и
--noignore-дир соответственно.

· --ignore-файл был добавлен, чтобы пользователи могли указывать шаблоны файлов, которые следует игнорировать (например,
/.* ~ $ /).

· --свалка был добавлен, чтобы пользователи могли легко узнать, какие параметры где установлены.

· --create-ackrc был добавлен, чтобы пользователи могли создавать собственные файлы ackrc на основе
настройки по умолчанию, загружаемые с помощью ack, чтобы пользователи могли легко просматривать эти значения по умолчанию.

· --тип-дель был добавлен для выборочного удаления определений типов файлов.

· --ignore-ack-по умолчанию был добавлен, чтобы пользователи могли игнорировать параметры подтверждения по умолчанию в
пользу себе.

· --бар был добавлен, чтобы пользователи с подтверждением могли проконсультироваться с адмиралом Акбаром.

Используйте ack-grepp в Интернете с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

Команды Linux

Ad