簡體   English   中英

僅尾一條命令的 output

[英]Tail only the output of a command

我只是想運行gvm-setup來配置 OpenVAS。 由於安裝是 100% 無人值守的,並且不需要任何用戶輸入,我只是想將最后兩行添加到文件中。

如果我運行以下命令:

gvm-setup | tee ~/.openvas_install.txt

然后它按預期將整個 output 發送到文件。 這個文件有 12MB 大,我只需要它的最后 2 行來捕獲在配置過程結束時呈現給用戶的密碼。

我怎么能 go 關於這個? 我意識到我可以簡單地tail 12MB 的大文件作為替代方案,但我想知道是否有這樣的東西可以工作:

gvm-setup | tail -n 2 output_file.txt

以下是 output 的示例:

[*] Checking Default scanner
08b69003-5fc2-4037-a479-93b440211c73  OpenVAS  /var/run/ospd/ospd.sock  0  OpenVAS Default

[+] Done
[*] Please note the password for the admin user
[*] User created with password 'd6ae47e5-26d0-4a85-a0ce-99b9cb3fd09d'.

我只需要捕獲隨機生成的密碼。

如果您需要日志文件和尾部 output 那么您應該使用 2 個單獨的命令行

gvm-setup >~/.openvas_install.txt
tail -n 2 ~/.openvas_install.txt

因為當將文件傳遞給tail時,它知道它可以獲取文件大小並立即查找文件末尾。 如果您將 pipe output tail ,那么它必須在接收到 pipe 的末尾之前實際消耗大量數據並打印出數據

當然tee也有效,因為它將 output 保存到文件和 pipe 中的下一個命令,但效率會低得多

gvm-setup | tee ~/.openvas_install.txt | tail -n 2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM