チャールズ・ダフィーのリクエストにより、より狭い焦点でこれを再作成しました.
次のような CSV ファイルがあります。
Security Policy: Blahblahblah,,,,,,,,,
12,,host_A,net-B,https,drop,Log,Any,Any,comments
13,,host_A,net-B,smtp,drop,Log,Any,Any,comments
14,,host_A,net-B,http,accept,Log,Any,Any,comments
,,net-C,,,,,,,
,,net-D,,,,,,,
15,,host_A,net-B,http,accept,Log,Any,Any,comments
,,host_B,net-C,service_X,,,,,
,,host_C,net-D,service_y,,,,,
,,host_D,,,,,,,
,,host_E,,,,,,,
各値を個別に解析する必要がありますが、それぞれのステートメントに $1 を含める必要があります。ご覧のとおり、これは 13 と 14 では簡単ですが、14 と 15 の列が空白 (子) の場合は深刻な問題になります。
これをループする最良の方法は何ですか?
たとえば、出力を次のようにしたいと思います。
'text goes here' $1 'more text' $3 'more text'
'text goes here' $1 'more text' $4 'more text'
等
実数値の使用 (15 の場合):
'text goes here' 15 'more text' host_A 'more text'
'text goes here' 15 'more text' host_B 'more text'
'text goes here' 15 'more text' host_C 'more text'
'text goes here' 15 'more text' host_D 'more text'
'text goes here' 15 'more text' host_E 'more text'
'text goes here' 15 'other text' net-B 'more text'
'text goes here' 15 'other text' net-C 'more text'
'text goes here' 15 'other text' net-D 'more text'
'text goes here' 15 'text' http 'more text'
'text goes here' 15 'text' service_X 'more text'
'text goes here' 15 'text' service_y'more text'
などなど。
ありがとうございました、