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 sedyukarı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, awkya da readher 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-parserkullanarak bir yapılandırma ayrıştırıcısı sed.