我想在脚本文件中使用时间戳来记录输出。
在控制台上
日期+%Y%m%d_%H%M%S_%N
打印类似“20120206_104531_944652200”
为了削减所有纳米和米克罗秒,我找到了
日期+%Y%m%d_%H%M%S_%N | sed s,“。\ {6 \} $”,,
给我一些像“20120206_104531_944”
在脚本文件中,它似乎有所不同。 每次记录输出完成时,都必须评估时间戳。
此脚本代码有效:
#!/usr/bin/bash
log_prefix1="date +%Y%m%d_%H%M%S_%N"
echo "`${log_prefix1}` blabla"
sleep 3
echo "`${log_prefix1}` blabla"
不幸的是,我没有找到一种方法来运行只有纳秒的3个最高有效数字。
此脚本代码不起作用:
#!/usr/bin/bash
log_prefix="date +%Y%m%d_%H%M%S_%N | sed s,\".\{6\}$\",,"
echo "`${log_prefix}` blabla"
sleep 3
echo "`${log_prefix}` blabla"
我收到以下错误消息:
date: extra operand `|'
Try `date --help' for more information.
因此,在执行时sed的管道出了问题。
有什么想法吗?
答案 0 :(得分:3)
通过为此创建一个函数,您可以让您的生活更简单。
类似的东西:
log_echo() {
echo $(date +%Y%m%d_%H%M%S_%N | sed 's,.\{6\}$,,') "$@";
}
...
log_echo hello there