我最近成功地将时间戳添加到我的终端提示符中: https://stackoverflow.com/questions/61335641/bash-zsh-terminal-prompt-time-date/61346774#61346774
但我很快意识到我真正想要的是附加到终端每个输出行的开头的时间戳。是否有一个简单的 For/Do 语句我可以添加到我的 .bashrc 文件中,以便为了 任何命令,做(例如打印F) %Y-%m-%d %H:%M:%S (这将添加到终端中打印的每个新输出行中)?
其中:
2020-04-21 09:04:50 [purr@purr-ms7998 ~]$ sudo pacman -Syyu
:: Synchronizing package databases...
core 172.0 KiB 272 KiB/s 00:01 [----------------------------------] 100%
extra 2016.1 KiB 470 KiB/s 00:04 [----------------------------------] 100%
community 5.9 MiB 265 KiB/s 00:23 [----------------------------------] 100%
multilib 192.9 KiB 157 KiB/s 00:01 [----------------------------------] 100%
:: Starting full system upgrade...
there is nothing to do
2020-04-21 09:05:44 [purr@purr-ms7998 ~]$
会变成这样:
[2020-04-21 09:04:50] [purr@purr-ms7998 ~]$ sudo pacman -Syyu
[2020-04-21 09:04:50]:: Synchronizing package databases...
[2020-04-21 09:04:50] core 172.0 KiB 272 KiB/s 00:01 [----------------------------------] 100%
[2020-04-21 09:04:50] extra 2016.1 KiB 470 KiB/s 00:04 [----------------------------------] 100%
[2020-04-21 09:04:50] community 5.9 MiB 265 KiB/s 00:23 [----------------------------------] 100%
[2020-04-21 09:04:50] multilib 192.9 KiB 157 KiB/s 00:01 [----------------------------------] 100%
[2020-04-21 09:04:50]:: Starting full system upgrade...
[2020-04-21 09:04:50] there is nothing to do
[2020-04-21 09:05:44] [purr@purr-ms7998 ~]$
我是一个完全的初学者,所以如果 for/do 语句可以用于此目的,请提供一个示例,以便我可以学习我想要做的事情的正确语法。
我目前正在使用 xfce4-terminal 如果有任何用处的话。
因西:
System: Kernel: 5.6.5-3-MANJARO x86_64 bits: 64 compiler: gcc v: 9.3.0
parameters: BOOT_IMAGE=/boot/vmlinuz-5.6-x86_64
root=UUID=98f63e52-6a5d-422b-88d0-73642c6c3ee8 rw quiet apparmor=1 security=apparmor
udev.log_priority=3
Desktop: Xfce 4.14.2 tk: Gtk 3.24.13 info: xfce4-panel wm: xfwm4 dm: LightDM 1.30.0
Distro: Manjaro Linux
Info: Processes: 204 Uptime: 47m Memory: 15.53 GiB used: 5.30 GiB (34.1%) Init: systemd v: 244
Compilers: gcc: 9.3.0 Shell: bash v: 5.0.16 running in: xfce4-terminal inxi: 3.0.37
答案1
您可以安装该包更多实用程序(上游网址https://joeyh.name/code/moreutils/),我很确定它存在于 Arch Linux 上。
更多实用程序 提供一个ts
命令,对来自程序标准输出的每一行添加时间戳。前任:
apt-get update | ts
Apr 21 21:15:50 Get:1 http://security.debian.org buster/updates InRelease [65.4 kB]
Apr 21 21:15:50 Hit:2 http://deb.debian.org/debian buster InRelease
Apr 21 21:15:50 Get:3 http://deb.debian.org/debian buster-backports InRelease [46.7 kB]
Apr 21 21:15:51 Get:4 http://security.debian.org buster/updates/main amd64 Packages [187 kB]
Apr 21 21:15:51 Get:5 http://security.debian.org buster/updates/main Translation-en [100 kB]
Apr 21 21:15:51 Fetched 400 kB in 1s (438 kB/s)
Apr 21 21:15:54 Reading package lists...
现在,它不会按照您的要求自动为每个命令工作,但可能会解决对最有用命令的需求。