[英]How can I pipe a command output to a CSV file in shell?
〜] $ date; daemon -ip統計數據| grep字節
Fri Jun 22 13:58:37 +08 2018
1958391001 transmit bytes
1825330799 receive bytes
我想按如下所述將這些值通過管道傳輸到CSV文件中。該怎么辦?
|日期| Tx字節| Rx字節|
像這樣用awk
:
daemon -ip statistics data | awk -v d="$(date)" '/transmit bytes/{t=$1} /receive bytes/{print "|" d "|" t "|" $1 "|"}'
產量
|Fri 22 Jun 2018 08:29:45 BST|1958391001|1825330799|
或者,如果您喜歡printf
樣式的格式:
daemon -ip statistics data | awk -v d="$(date)" '/transmit bytes/{t=$1} /receive bytes/{printf("|%s|%d|%d|\n",d,t,$1)}'
如果您將命令的輸出通過管道傳輸到tr
,以便用分隔符替換換行符,即
....|tr '\n' '|'
您幾乎已經完成了整個字符串,除了前導|
。 因此,如果將此字符串存儲到變量中,即
v=$(.....|tr '\n' '|')
您可以將其附加到您的csv文件中
echo "|$v" >>your_file.csv
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.