Мне нужно найти шаблон в каталоге и сохранить имена файлов, которые содержат его в массиве.
Поиск шаблона:
grep -HR "pattern" . | cut -d: -f1
Это печатает мне все имена файлов, содержащие "шаблон".
Если я попробую:
targets=$(grep -HR "pattern" . | cut -d: -f1)
length=${#targets[@]}
for ((i = 0; i != length; i++)); do
echo "target $i: '${targets[i]}'"
done
Это выводит только один элемент, содержащий строку со всеми именами файлов.
output: target 0: 'file0 file1 .. fileN'
Но мне нужно:
output: target 0: 'file0'
output: target 1: 'file1'
.....
output: target N: 'fileN'
Как я могу достичь результата, не выполняя операцию расточного разделения по целям?