sed
sed
Özellikle aşağıdaki gibi bölüm adlarınız olduğunda ini yapılandırma dosyasını ayrıştırmak için kullanabilirsiniz :
[owner]
name=John Doe
organization=Acme Widgets Inc.
[database]
server=192.0.2.62
port=143
file=payroll.dat
böylece sed
yukarıdaki verileri ayrıştırmak için aşağıdaki komut dosyasını kullanabilirsiniz:
1 {
x
s/^/default/
x
}
/
/\[/ {
s/\[\(.*\)\]/\1/
x
b
}
/=/ {
s/^[[:space:]]*//
s/[[:space:]]*=[[:space:]]*/|/
G
s/\(.*\)\n\(.*\)/\2|\1/
p
}
bu, ini verilerini bu düz biçime dönüştürecektir:
owner|name|John Doe
owner|organization|Acme Widgets Inc.
database|server|192.0.2.62
database|port|143
database|file|payroll.dat
yüzden kullanarak ayrıştırılması daha kolay olacak sed
, awk
ya da read
her satırda bölüm isimleri alarak.
Krediler ve kaynak: Kabuk betikleri için yapılandırma dosyaları , Michael Grünewald
Alternatif olarak, bu projeyi kullanabilirsiniz:, chilladx/config-parser
kullanarak bir yapılandırma ayrıştırıcısı sed
.