Привет. Есть группа конфигов, порядка 500 файлов. Все файлы имеют одинаковую структуру вида:
[config_name_var]
param1=data1 <some data>
param2=data2
param3="data3" <some data>
param4=data4
param5=data5/data6
(1) Надо вытянуть данные, которые лежат в param3 каждого конфига
(2) вытянуть данные, которые лежат в param4 (получить data4)
(3) объединить полученные данные в одном файле, в виде param3:param4, одна строка=один распарсенный файл (в итоге должно получиться около 500 строк, по количеству конфигов).
---
(1) решаю через sed, просто получая содержимое кавычек
grep "param3" "$file" | sed -e 's/.*"\(.*\)".*/\1/'
for file in $(ls -l /dir/ | grep ^-)
do echo $(grep "param3" "$file" | sed -e 's/.*"\(.*\)".*/\1/') > param3data
done
(2) Думаю отлавливать data4 тем же седом, после знака равно - никаких кавычек там нет, но нужна помощь по циклу
(3) paste