Bash 字符串替换命令结果

标签 bash shell awk

例如,我有一个简单的 bash 脚本,它使用正常运行时间和 awk 获取平均负载

LOAD_5M=$(uptime | awk -F'load averages:' '{ print $2}' | awk '{print $2}')

但是,这包括平均负载末尾的“,”

例如

0.51,

所以我用字符串替换替换了逗号,如下所示:

LOAD_5M=${LOAD_5M/,/}

我不是 awk 或 bash wizzkid,所以虽然这给了我想要的结果,但我想知道是否有一种简洁的方法可以通过以下方式编写:

  • 使用 awk 获取不带逗号的平均负载,或者
  • 去掉一行中的逗号

最佳答案

您可以在同一个 awk 命令中执行此操作:

uptime | awk -F 'load averages?: *' '{split($2, a, ",? "); print a[2]}'
1.32

关于Bash 字符串替换命令结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27313823/

相关文章:

linux - 无法将第三个参数传递给 bash 脚本

linux - cpu 亲和性,只允许进程在特定的 cpu 上运行

string - 用于选择具有最新日期且不带子字符串的文件名的 Bash 脚本

bash - Bash 运算符 <<<(即三倍小于号)是什么意思?

bash - 如何使用 AWK 或 SED 在第 N 行之前打印字符串并从第 N 行删除特定字符串

regex - 使用 awk 替换大文件中每行的开始和结束

regex - 与 awk 一起使用的正则表达式中的量词表现出意外

linux - 在 IP 末尾检测 0,最后一个八进制/bash

bash - shell case pattern [...] 不允许的字符

linux - shell脚本用空格连接两个字符串