Описание тега legendary-bigtrouble
Что я после почти точно так же, как может быть найден здесь, но я хочу формат "номер строки, разделитель, имя файла, строку" в результатах, демонстрируя номер строки в начало строки, а не после именем, и без показывать строку, содержащую матч.
Причина, почему этот формат является предпочтительным, заключается в том, что
- (а) имя файла может быть длинным и загадочным и содержать разделитель, который используется для отделения имени файла от линии ряда, что делает его невероятно трудно использовать awk, чтобы добиться этого, с узором внутри файл может также содержать один и тот же разделитель. Кроме того, номера строк в начале строки будут выровнены лучше, чем если они появляются после имени файла. И другая причина для этого нужные формат, что
(б) строки, соответствующие шаблону может быть слишком длинным и испортить одной строке на каждую строку собственность на выводе на стандартный выход (и просмотр выходных данных на стандартном лучше, чем сохранить в файл и использовать средство, как ви просмотреть одну строку для каждой строки в выходной файл).
Как я могу рекурсивно каталоги поиска по шаблону и просто распечатать имена файлов и номера строк
Теперь, когда я изложил требования, рассмотреть этот:
Пакеты ACK не установлен на Linux, который я использую, поэтому я не могу использовать его.
Если я делаю следующее, оболочка выполняет
найти .
и заменители 'найти`. список абсолютных путей, которые начинаются в текущем рабочем каталоге и продолжая вниз рекурсивно:грэп -Н узор `найти`.
затем -N печатать номер строки, но не туда, куда хочу. Также, по некоторым причинам я не понимаю, если имя каталога содержит шаблон, то совпадений grep это в дополнение к обычному файлов, содержащих шаблон. Это не то, что я хочу, так что я использую:
грэп -Н шаблон найти . -тип F`
Я тоже хотел менять эту команду, так что выход найти будет передан на динамично грэп. Вместо того, чтобы строить весь список абсолютных путей во-первых, а затем передать их основная масса в грэп, найти проход каждой строки, чтобы команда grep как он строит список, так что я попробовал:
найти . -старпома грэп -Н узор '{}' \;
кажется, что правильный синтаксис согласно
Man-странице
, но когда я вопрос этот командный интерпретатор bash выполняет примерно в 100 раз медленнее, так что это не путь.
Учитывая то, что я описал, как я могу выполнить что-то похожее на эту команду и получить желаемый формат. Я уже перечислил проблемы, связанные с соответствующей должности.