相关疑难解决方法(0)

如何使用Bash将stdout和stderr重定向并附加到文件中?

要将stdout重定向到Bash中的截断文件,我知道要使用:

cmd > file.txt
Run Code Online (Sandbox Code Playgroud)

要在Bash中重定向stdout,追加到文件,我知道要使用:

cmd >> file.txt
Run Code Online (Sandbox Code Playgroud)

要将stdoutstderr重定向到截断的文件,我知道要使用:

cmd &> file.txt
Run Code Online (Sandbox Code Playgroud)

如何重定向附加到文件的stdoutstderrcmd &>> file.txt不适合我.

linux bash redirect pipe stream

1440
推荐指数
8
解决办法
70万
查看次数

如何在Bash中将时间戳转换为日期?

我需要一个将Unix时间戳转换为日期的shell命令或脚本.输入可以来自第一个参数或来自stdin,允许以下使用模式:

ts2date 1267619929
Run Code Online (Sandbox Code Playgroud)

echo 1267619929 | ts2date
Run Code Online (Sandbox Code Playgroud)

两个命令都应输出"Wed Mar 3 13:38:49 2010".

bash date unix-timestamp

251
推荐指数
10
解决办法
25万
查看次数

从毫升命令行转换毫秒时间戳到日期

我知道

date -d @<timestamp in seconds>
Run Code Online (Sandbox Code Playgroud)

awk '{print strftime("%c", <timestamp in seconds>)}'
Run Code Online (Sandbox Code Playgroud)

但是如果我有毫秒的话呢?在没有删除毫秒时间戳的最后三个字符的情况下,有没有简单的方法可以做到这一点(不是说丢失字符是困难的,但我认为这样一个简单的任务会有一步一步)?

unix awk date

28
推荐指数
3
解决办法
3万
查看次数

使用内置 printf 以毫秒或纳秒为单位打印当前时间

我们可以使用内置printf函数打印当前时间,而无需调用date像这样的外部命令,如下所示:

printf '%(%Y-%m-%d:%H:%M:%S)T %s\n' -1
# sample output: 2019-03-30:17:39:36,846
Run Code Online (Sandbox Code Playgroud)

我们如何让 printf 也打印毫秒或纳秒?在格式字符串中使用%3N%N不起作用:

printf '%(%Y-%m-%d:%H:%M:%S,%3N)T %s\n' -1 # outputs 2019-03-30:17:38:16,%3N
printf '%(%Y-%m-%d:%H:%M:%S,%N)T %s\n' -1  # outputs 2019-03-30:17:38:16,%N
Run Code Online (Sandbox Code Playgroud)

但是, date 命令工作正常:

date +%Y-%m-%d:%H:%M:%S,%3N # gives 2019-03-30:17:39:36,846
date +%Y-%m-%d:%H:%M:%S,%N  # gives 2019-03-30:17:39:36,160643077
Run Code Online (Sandbox Code Playgroud)

这是在 Red Hat Linux 7.3 版上。

linux bash printf datetime

7
推荐指数
2
解决办法
3265
查看次数

标签 统计

bash ×3

date ×2

linux ×2

awk ×1

datetime ×1

pipe ×1

printf ×1

redirect ×1

stream ×1

unix ×1

unix-timestamp ×1