将自定义ssh命令输出写入文件

时间:2015-07-01 16:32:17

标签: file-io ssh

我对SSH完全不熟悉,我正在尝试不同的事情。我想将自定义命令输出写入日志文件 这是我的命令:

hostname:~$ sudo checktemp grep
/dev/sda: ST3320820AS: 38°C
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +45.0°C  (high = +78.0°C, crit = +100.0°C)
Core 1:       +45.0°C  (high = +78.0°C, crit = +100.0°C)
radeon-pci-0100
Adapter: PCI adapter
temp1:        +59.0°C

我想写文件以下内容:

ST3320820AS: 38°C
Core 0:       +45.0°C
Core 1:       +45.0°C
temp1:        +59.0°C

我查了grep命令,但没有成功。 另外我想现在如何设置日志文件目的地并写入设置(写新行等)。

我希望日志文件如下所示:

ST3320820AS; Core 0; Core 1; temp1; date; time

38°C; +45.0°C; +45.0°C; +59.0°C; yyyy-mm-dd; hh:mm:ss

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

创建日志文件:

sudo checktemp | grep -E“Core | temp1 | sda”| awk -F“(”'{print $ 1}'| sed's,/ dev / sda:,, g'> log

要附加到日志文件的末尾:

sudo checktemp | grep -E“Core | temp1 | sda”| awk -F“(”'{print $ 1}'| sed's,/ dev / sda:,, g'>> log

以单行格式打印日期和时间:

sudo checktemp | grep -E“Core | temp1 | sda”| awk -F“(”'{print $ 1}'| sed's,/ dev / sda:,, g'| sed's,,, g'> log

echo -n date: >> log
date +%Y-%m-%d >> log
echo -n time: >> log
date +%H=%M=%S >> log

cat log | awk -F“:”'{for(i = 1; i&lt; = NF; i ++){a [NR,i] = $ i}}; NF> p {p = NF} END {for(j = 1; j <= p; j ++){str = a [1,j]; for(i = 2; i&lt; = NR; i ++){str = str“;”a [i,j]; } print str}}'| sed's,Core,Core,g; s,=,:,g'&gt; log.txt的