CLIでbashスクリプトを実行した後、次の出力を受け取ったとします(このテキストは端末に表示されます)。
POST https://mycompany.com/ COOKIE='BLABLABLABLABLA' HOST='ANYIPADDRESS' FINGERPRINT='sha256:BLABLABLABLA'
コンテンツ(
COOKIE
との間のテキストのみ)を別々のファイルに保存するには?'
'
また、上記のテキストをその外部ファイルの特定の場所に貼り付ける必要があります。
既存のファイルの内容は次のとおりです。
[global] Name = Name of VPN connection [provider_openconnect] Type = OpenConnect Name = Name of VPN connection Host = IP-address Domain = Domain name OpenConnect.Cookie = >>>INSERT CONTENT OF THE COOKIE HERE<<< OpenConnect.ServerCert = sha256:BLABLABLABLA
どうやってこれができますか?
ベストアンサー1
これらのタイプのものは本質的に普遍的ではありませんが、方法はありますが、
私はあなたがOpenConnect.Cookie =
次の行を変更したいと思います。OpenConnect.Cookie = BLABLABLABLABLA
したがって、最初に必要な文字列を生成するために使用できます
sed -i "s/^OpenConnect.Cookie =.*$/$( command_giving_output | grep 'COOKIE=' | sed "s/COOKIE='//; s/'//g; s/^/OpenConnect.Cookie = /")/" external_filename
ここでは、まず必要な文字列を生成するためにコマンド置換を使用しています。
command_giving_output | grep 'COOKIE=' | sed "s/COOKIE='//; s/'//g; s/^/OpenConnect.Cookie = /"
次に、目的の行を目的の文字列に置き換えます。
sed -i "s/^OpenConnect.Cookie =.*$/output from above command substitution /" external_filename