イコールの後にスペースを入れたり入れなかったりする輩がいて、単純にイコール後の値を取得できない場合も想定できるかと思います。
(それはそれで別の問題が発生しそうですが)
そういう場合を想定して、予め空白を詰めて、イコールの次の値を取得します。
始めに
Sambaの設定ファイル
smb.conf(/etc/samba/smb.conf)を例に解説したいと思います。
smb.confを覗くとこんな感じで設定値が書き込まれています。
workgroup = WORKGROUP
server string = Suzume ga Samba
netbios name = TEST
ここではworkgroupの値を取得します。
通常通り取得する
以下のコマンドは、
awk
でスペース区切りの3番目の文字を取得します。
grep "workgroup " /etc/samba/smb.conf | awk '{print $3}'
この場合、スペースの数によって値がズレてしまいます。
単純にイコールの次の値を取得すれば取得ミスは起こらないと思います。
イコールの次の値を取得する
sed
でスペースを潰して、
awk
の区切り文字を
=
に変えて2番目の文字を取得しています。
grep "workgroup " /etc/samba/smb.conf | sed "s/ //g" | awk -F'=' '{print $2}'
これで憂慮せずWORKGROUPが取得できるかと思います。