我想在某个文件的每一行开头添加日期和时间
我使用 sed 来在文件中的每一行之前添加日期和时间
请建议我需要在我的 sed 中更新什么以支持此操作,
我可以用 awk 或 perl one liner 等接受其他解决方案......
# date="[`date +%d"/"%b"/"%G"-"%T`]"
# echo $date
[21/Feb/2013-14:07:58]
# sed "s/^/$date /" file
sed: command garbled: s/^/[21/Feb/2013-14:07:58] /
例子
编辑前的文件
param1=3478374
param2=34128374
param3=34783743
编辑后的文件
[21/Feb/2013-14:07:58] param1=3478374
[21/Feb/2013-14:07:58] param2=34128374
[21/Feb/2013-14:07:58] param3=34783743
或者使用另一个分隔符,如“|”,我在 mac 上试过了。
sed
该命令中的斜线太多。变量中的那些$date
需要转义。这是我得到的(这是一个更有用的错误消息):
转义:
如果单次转义不够,您可能需要对变量进行两次转义,因为在取消引用变量时可能会删除转义: