Я хочу собрать несколько файлов в каталоге и собрать выходные данные каждого grep в отдельный файл. Так что, если я grep 20 файлов, я должен получить 20 выходных файлов, которые содержат искомый элемент. Кто-нибудь может мне помочь с этим? Спасибо.
Используйте оператор for:
for
for a in *.txt; do grep target $a >$a.out; done
только одна команда gawk
gawk '/target/ {print $0 > FILENAME".out"}' *.txt
вы можете использовать только оболочку, не нужно внешних команд
for file in *.txt do while read -r line do case "$line" in *pattern*) echo $line >> "${file%.txt}.out";; esac done < "$file" done