@quintera

Как сделать двойной grep с условием в bash скрипте?

есть файлы с содержимым:
файл 1:
a=xxx
b=yyy
c=zzz

файл 2:
a=xxxx
b=yyyy
c=zzzz

и т.д.

нужен скрипт с grep который вытащит из файлов значения a и b, и запишет их в новый файл. Записать значения из одного файла в одну строчку, разделив каким-нибудь символом типа:

xxx-yyy
xxxx-yyyy
и т.д.

с условием, что если какой-то файл не содержит один из шаблонов (a или b):

a=xxx
c=zzz
d=yyy

то нужно проигнорировать этот файл.
  • Вопрос задан
  • 187 просмотров
Решения вопроса 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
a1=$(cat file1.txt |egrep -o '^a=[^\r\n]+$' |head -n1 |cut -d"=" -f2)
b1=$(cat file1.txt |egrep -o '^b=[^\r\n]+$' |head -n1 |cut -d"=" -f2)
if [ -n "${a1}" -a -n "${b1}" ]; then
    echo "${a1}-${b1}" >>out.txt
fi


А вот перебор по всем файлам в директории мне делать лень, поэтому пусть это будет вашим домашним заданием, сделайте ну хоть что-нибудь своими руками!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы