Я пытаюсь произвести это поведение:
grep 192.168.1 *.txt
Передав строку в grep через Xargs, но она идет в конце, а не в качестве первого параметра.
echo 192.168.1 | xargs grep *.txt
Мне нужно сказать xargs (или что-то подобное), чтобы поместить входящую строку между 'grep' и '*' вместо конца.
Как мне это сделать?
Ответы:
пример
Примеры файлов:
Пример выполнения:
источник
Другой подход:
Это не приведет к переполнению длины командной строки оболочки слишком большим количеством имен файлов. Во избежание путаницы
xargs
/grep
с именами файлов, которые имеют пробелы,-print0
и-0
параметры будут обозначать каждое найденное имя с нулем, а не LF.источник