You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下如何在重定向输出时为每行添加当前日期?

问题描述

我当前通过以下命令将Python脚本的输出重定向到文件:

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 $(date +%Y-%m-%d_%H:%M), python checkTemps.py >> test.txt
解决方法

你之前的命令错误在于,echo只会输出日期字符串和python checkTemps.py这段文本,不会实际执行脚本并获取它的输出。以下是几种可行的单行命令实现需求:

方法一:命令替换拼接输出

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

$(python checkTemps.py)会执行脚本并捕获其输出,随后与日期字符串拼接后一起追加到文件中。

方法二:printf格式化输出

printf "%s, %s\n" "$(date +%Y-%m-%d_%H:%M)" "$(python checkTemps.py)" >> test.txt

printf能按指定格式将日期与脚本输出拼接,确保格式统一,适合对输出格式有严格要求的场景。

方法三:sed添加前缀(支持多行输出)

如果脚本可能输出多行内容,可使用sed在每行开头插入日期前缀:

python checkTemps.py | sed "s/^/$(date +%Y-%m-%d_%H:%M), /" >> test.txt

sed "s/^/xxx/"表示在每行开头插入指定内容,这种方式能兼容单行或多行输出的情况。

内容的提问来源于stack exchange,提问作者Mikee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 07:29:51