我想用date命令输出一行日期,但它的结尾是“\n”,我不需要它,目前,我用途:
echo -n `date +"[%m-%d %H:%M:%S]"`
或
date +"[%m-%d %H:%M:%S]"|tr -d "\n"
有没有内置的“date”参数来做到这一点?
uqxowvwt1#
不没有您需要另一个命令,如echo -n、printf或tr。你可以把一个脚本放在你的路径的某个地方(例如。/usr/bin/),并使其可以用chmod +x /usr/bin/mydate执行脚本:
echo -n
printf
tr
chmod +x /usr/bin/mydate
#!/bin/sh echo -n `date +"[%m-%d %H:%M:%S]"`
或使用别名。
alias mydate="echo -n `date +"[%m-%d %H:%M:%S]"`"
sq1bmfud2#
Bashprintf不需要date即可工作:
printf '%(%m-%d %H:%M:%S)T'
将输出当前时间,不带换行符。
r6vfmomb3#
你可以使用printf。它不添加新的线符号:
$ printf `date "+%d.%m.%Y"` 22.01.2016$
8hhllhi24#
您可能希望用某种形式的空格替换换行符,以便输出不会一起运行。可用于监视工作空间峰值大小的完整示例:
nohup watch -t -n 60 "(date '+%F/%H:%M:%S' | tr '\n' '\t'; du -sh /folder/to/monitor/) >> workspace.log" &
不要忘记杀死它,因为文件会无限增长。
juud5qan5#
我猜你想在每一行的日期后面加上一些东西。你可以用其他方法来代替没有EOL的日期。在date命令中,你可以使用$()或反引号``来添加任何其他命令的输出。最后的输出是相同的,日期,然后在每一行的东西。例如:
date "+%F %T $(echo 123)"
将在同一行中打印日期和123。
5条答案
按热度按时间uqxowvwt1#
不没有您需要另一个命令,如
echo -n
、printf
或tr
。你可以把一个脚本放在你的路径的某个地方(例如。/usr/bin/),并使其可以用chmod +x /usr/bin/mydate
执行脚本:
或使用别名。
sq1bmfud2#
Bashprintf不需要date即可工作:
将输出当前时间,不带换行符。
r6vfmomb3#
你可以使用printf。它不添加新的线符号:
8hhllhi24#
您可能希望用某种形式的空格替换换行符,以便输出不会一起运行。
可用于监视工作空间峰值大小的完整示例:
不要忘记杀死它,因为文件会无限增长。
juud5qan5#
我猜你想在每一行的日期后面加上一些东西。你可以用其他方法来代替没有EOL的日期。在date命令中,你可以使用$()或反引号``来添加任何其他命令的输出。最后的输出是相同的,日期,然后在每一行的东西。
例如:
将在同一行中打印日期和123。