小编Ste*_*eph的帖子

从使用 awk 捕获的字符串中删除最后一个字符

我需要从这个命令的字符串中删除最后一个字符:

sudo docker stats --no-stream 39858jf8 | awk '{if (NR!=1) {print $2}}'

结果是5.20%,我需要%在最后删除,给5.20. 是否可以在同一命令中执行此操作?

awk string text-processing

38
推荐指数
1
解决办法
7万
查看次数

将命令作为变量替换为 bash 脚本

我需要awk用不同的情况替换脚本中的一部分命令,如下所示:

CONTAINER=$1

RESULTS=$(ssh -o LogLevel=QUIET -t -i ~/key.pem user@server sudo docker stats --no-stream $CONTAINER | awk '{if (NR!=1) {print substr($2, 1, length($2)-1)}}')
Run Code Online (Sandbox Code Playgroud)

对此:

#!/bin/bash

CONTAINER=$1
TYPE=$2

case "${TYPE}" in   
    cpu)
        AWK="'{if (NR!=1) {print substr($2, 1, length($2)-1)}}'"
    ;;   
esac

RESULTS=$(ssh -o LogLevel=QUIET -t -i ~/key.pem user@server sudo docker stats --no-stream $CONTAINER | awk $AWK)
Run Code Online (Sandbox Code Playgroud)

但我总是收到语法错误。

bash awk

3
推荐指数
1
解决办法
577
查看次数

标签 统计

awk ×2

bash ×1

string ×1

text-processing ×1