iniファイルが予想される場所にあることを確認した後(方法を学びました)、ファイル形式が正しいことを確認したいと思います。ファイル内の「サイト」項目の数に関係なく検証し、各項目が新しい行を含む以下のパターンに従うことを確認したいと思います。
1| [site1]
2| shortcut=x1
3| site=example1.com
4| theme=alpha
5|
6| [site2]
7| shortcut=x2
8| site=example2.com
9| theme=beta
10|
個々の値を読みながら確認しました。ファイルを処理する前にパターンが正しいことを確認し、パターンが正しくない場合は、パターンが壊れる行番号をエコーしたいと思います。
ベストアンサー1
クルディーニを試してみてください。
crudini --get file.ini |
while read section; do
test "$(crudini --get t.ini $section | paste -d, - - -)" = \
'shortcut,site,theme' ||
echo error in section $section
done