Python 如何将命令输出通过管道传输到shell中的CSV文件?
~]$日期;守护进程-ip统计数据| grep字节Python 如何将命令输出通过管道传输到shell中的CSV文件?,python,shell,scripting,Python,Shell,Scripting,~]$日期;守护进程-ip统计数据| grep字节 Fri Jun 22 13:58:37 +08 2018 1958391001 transmit bytes 1825330799 receive bytes 我想将这些值通过管道传输到CSV文件,如下所述。我如何才能做到这一点 |Date | Tx bytes | Rx bytes |如果您通过管道将命令的输出传输到tr,以便用分隔符替换换行符,即 ....|tr '\n' '|' 除了前面的|之外,您几乎已经完成了整个字符串。因此,如果
Fri Jun 22 13:58:37 +08 2018
1958391001 transmit bytes
1825330799 receive bytes
我想将这些值通过管道传输到CSV文件,如下所述。我如何才能做到这一点
|Date | Tx bytes | Rx bytes |如果您通过管道将命令的输出传输到
tr
,以便用分隔符替换换行符,即
....|tr '\n' '|'
除了前面的|
之外,您几乎已经完成了整个字符串。因此,如果您将此字符串存储到变量,即
v=$(.....|tr '\n' '|')
您可以使用以下命令将其附加到csv文件中:
echo "|$v" >>your_file.csv
与
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)}'