【问题标题】:How to format string from bash script? - Raspberry Pi如何从 bash 脚本格式化字符串? - 树莓派
【发布时间】:2023-04-02 09:43:01
【问题描述】:

所以,当你运行uptime 时,你会得到你的 pi 的正常运行时间,如果你运行 uptime -p,你会得到 up 32 minutes,我怎样才能让它只输出分钟,即 32

【问题讨论】:

  • uptime .... | grep -Eo '[[:digit:]]+'
  • 一旦系统启动了一段时间,你打算做什么?例如,如果uptime -p 返回up 1 day, 18 hours, 3 minutes 会发生什么?
  • @Jetchisel,这个命令真的会派上用场,现在我想让它输出小时:分钟,即14:33,我该怎么做?考虑到您粘贴的命令返回一个列表,小时将是元素 3,分钟将是 4。此外,有没有什么地方可以像您一样学习如何格式化这些 shell 脚本?昨天我四处寻找东西,但没有任何帮助,真的。
  • '[:[:digit:]]+'
  • 好的,输出:imgur.com/a/WXRmGqM,仍然不是我的意思,是否可以从中获取第二行?

标签: linux bash raspberry-pi command


【解决方案1】:

像这样:

uptime -p | cut -d' ' -f2-

但是,如果您有与示例不同的天/小时,则此 sn-p 不会在几分钟内转换它们。为此,请考虑:

uptime -p |
perl -ne '
    if (/^up (?<weeks>\d+) weeks, (?<hours>\d+) hours, (?<minutes>\d+) min/) {
        push @{ $data->{$_} }, $+{$_} for keys %+;
        print $data->{weeks}*168+$data->{hours}*60+$data->{minutes} . " mn\n";
    }
'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多