Bash: перебор файлов в директории

Коллеги, прошу помочь со скриптом.

Задача следующая:

есть папка с десятком текстовых логов, из каждого нужно надо вытащить определенные строки. В идеале хотелось бы сагрегировать в один файл с указанием из какого файла взято, но пока не разобрался с sed.

Пока я накидал следующее:

#/bin/bash
# Variable
cwd=$(pwd) #тут такое условие потому что скрипт должен запускаться в папке, в которой лежат две другие папки с логами, по которым нужно пройтись скриптом
# Script

if [ -d $cwd]
then
cd $cwd || return #я не уверен нужен ли здесь return
for dir in $(ls)
do
if [ -d $dir ]
then
cd $dir || return  #и здесь
for file in $(ls)
do
if [ -f $file ]
then
grep -С2 "нужное мне значение" $file > readed$file
fi
done
fi
done
fi

GNU/Linux

1K постов15.5K подписчиков

Добавить пост

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.