Я хочу найти команду bash, которая позволит мне grep каждый файл в каталоге и записать вывод этого grep в отдельный файл. Мое предположение было бы сделать что-то вроде этого
ls -1 | xargs -I{} "grep ABC '{}' > '{}'.out"
но насколько я знаю, xargs не нравятся двойные кавычки. Однако, если я удаляю двойные кавычки, команда перенаправляет вывод всей команды в один файл с именем «{}». Вместо ряда отдельных файлов.
Кто-нибудь знает способ сделать это с помощью xargs? Я просто использовал этот сценарий grep в качестве примера, чтобы проиллюстрировать мою проблему с xargs, поэтому любые решения, которые не используют xargs, не подходят для меня.
xargsбез-0: это применимо только тогда, когда вы выводите данныеfindс помощью каналаxargs, верно? когда я делаю,xargs -a <input_file>как бы я использовал это? Большинство команд, например, сgrepвыходами\nи без них\0.. Единственный способ обойти это, я думаю, использоватьtrснова, чтобы исправить это. Но почему важно использовать его только с-0?