我创建了 date 命令的别名以按以下格式显示日期:
2013.06.14.12.10.02
使用这个命令:
alias date = date +"%Y.%m.%d.%H.%M.%S"
Run Code Online (Sandbox Code Playgroud)
一切都很好,除了我想从输出中删除前导零。
没有办法通过改变格式来实现它。我认为它只能通过将输出传输到其他命令来完成,例如sed
和awk
。
我正在运行的操作系统是 Ubuntu 12.04.2 LTS。
j88*_*376 99
根据 GNUdate
联机帮助页:
By default, date pads numeric fields with zeroes. The following
optional flags may follow '%':
- (hyphen) do not pad the field
Run Code Online (Sandbox Code Playgroud)
因此你可以做
alias date="date '+%Y.%-m.%-d.%-H.%-M.%-S'"
Run Code Online (Sandbox Code Playgroud)
并接收
2013.6.14.3.19.31
Run Code Online (Sandbox Code Playgroud)
小智 7
感觉很傻,但由于这个问题被标记为/sed
,这是一种使用 sed 执行此操作的方法,正如您所提到的 :)
alias date='date +"%Y.%m.%d.%H.%M.%S" | sed "s/^0*//g; s/\.0*/./g"'
Run Code Online (Sandbox Code Playgroud)