Bash
Bash:如何將 CLI 輸出的特定行儲存到文件中?
- 假設我在 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
這怎麼可能?
這些類型的東西本質上不是通用的,但具體的方法是通用的
我假設,你想
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