如何在 Linux 中将当前日期添加到重定向命令中?

问题描述 投票:0回答:1

我目前正在将程序的输出重定向到文件,如下所示

 python checkTemps.py >> test.txt

每次运行时都会向 test.txt 添加新的 CSV 数据行

71.2, 74.1, 63.8, 69.2, 74.64, 73.85, 76.08

我想在每行的开头插入当前日期/时间,后跟逗号,如下所示

2023-08-30_20:45, 71.2, 74.1, 63.8, 69.2, 74.64, 73.85, 76.08

我不知道如何执行 echo 命令并附加逗号并在一行中运行 python 应用程序。这是我尝试过的多种变体之一

echo $(date +%Y-%m-%d_%H:%M), python checkTemps.py >> test.txt
linux io-redirection
1个回答
0
投票

你就快到了!您只需将这两个命令包含在子 shell 中,并使用分号分隔它们。以下是实现所需输出的正确语法:

(echo $(date +%Y-%m-%d_%H:%M), $(python checkTemps.py)) >> test.txt

在此命令中,

$(date +%Y-%m-%d_%H:%M)
部分用于获取所需格式的当前日期和时间,并且
$(python checkTemps.py)
运行您的Python脚本。然后,这两个命令的输出与逗号组合并重定向到
test.txt
文件。

或者,您可以使用命令替换将 Python 脚本的输出捕获到变量中,然后在将其回显到文件之前构建完整的行:

output=$(python checkTemps.py)
echo "$(date +%Y-%m-%d_%H:%M), $output" >> test.txt

这样,Python 脚本的输出存储在

output
变量中,然后日期、时间和 Python 输出被组合并附加到
test.txt
文件中。

© www.soinside.com 2019 - 2024. All rights reserved.