gpt4 book ai didi

linux - awk 忽略打印单列。 sh-c

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:28:40 25 4
gpt4 key购买 nike

我在尝试将此命令包装在其他命令中时遇到问题。

# Target Command:
/bin/df / | awk END' { gsub(/\%/, ""); print $5} '

# What I want:
/bin/sh -c " [command above goes here]"

我遇到了 awk 和所有引号的问题...我试过:

bin/sh -c "/bin/df / | awk END' { gsub(/\%/, "'"''"'"); print $5} '"

但问题是 awk 在这种情况下似乎并不只打印列 $5。如何修复上述命令 awk 命令以仅打印第 5 列(最后一行)?

PS:我想做的是获取已用磁盘的百分比(不包括 % 符号)。因为我是从一个不支持管道的程序中调用它的,所以我使用的是 sh -c

最佳答案

您可以使用:

/bin/sh -c "/bin/df | awk 'END{gsub(/%/, \"\", \$5); print \$5}'"

$ 也需要转义。

根据下面@Ed 的评论,如果 $5 在某些版本的 awk 中的 END block 中不可用,则使用:

/bin/sh -c "/bin/df | awk '{p=\$5} END{sub(/%/, \"\", p); print p}'"

关于linux - awk 忽略打印单列。 sh-c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25275167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com