Я хочу все строки с assert_equal и без амазонки.xargs не работает
Я пробовал следовать, но он не работает.
ack assert_equal | xargs ack -v amazon
Я хочу все строки с assert_equal и без амазонки.xargs не работает
Я пробовал следовать, но он не работает.
ack assert_equal | xargs ack -v amazon
Вам не нужно xargs:
ack assert_equal | ack -v amazon
Там, кажется, несколько проблем с командой. В первой части:
извед assert_equal
вы не обеспечивают имя файла, так ack
не имеет никакого отношения к процессу. Во второй части:
xargs извед -v амазонка
вы используете xargs
, чтобы обеспечить результаты от первоначального ack
в качестве аргументов командной строки на второй ack
, который, вероятно, не то, что вы предназначена. ack
уже предназначен для приема данных на стандартном входе, поэтому вам не нужно использовать xargs
.
Вот заявление, которое должно работать лучше:
извед assert_equal имя_файла | извед -v амазонка
или, если вы получаете на выходе из другой команды, что-то вроде:
my_command | ack assert_equal | ack -v amazon
ack assert_equal показывает тонны данных. Спасибо за ответ. –
«ack», доступный с сайта bestthangrep.com (как уже упоминал Дейв Бахер выше), не будет возвращать какие-либо данные при запуске с одним аргументом (по крайней мере, на моей машине). Другая программа 'ack', конвертер кода Кандзи, выводит любой текстовый файл, предоставленный как есть, но он не принимает аргумент -v, поэтому я предполагаю, что это не так. Есть ли третья 'ack', которую вы могли бы использовать? –
ack не нуждается в имени файла для поиска. Для этого нужен шаблон поиска. Предполагается, что он хочет искать все дерево вниз, начиная с текущего каталога. –
ack
не является стандартным инструментом в * nix. так как у вас это есть, все в порядке. Но если вы на системе Nix *, которая не имеет его, вот как вы можете это сделать
awk '/assert_equal/&&!/amazon/' file
этот фрагмент должен дать вам представление о том, что вам нужно сделать. Магия находится в опции -print0. Не прямое решение; я чувствую себя ленивым.
ack -f --print0 --php -G 'scripts' --invert-file-match|xargs -0 ls -l
Что такое * "ack" *? – DigitalRoss
@ DigitalRoss, ack - утилита поиска и grep. см. также http://betterthangrep.com/ –
Это, вероятно, должно быть перенесено на суперпользователя. – jdizzle