gpt4 book ai didi

regex - 压缩 awk/sed 管道命令

转载 作者:IT王子 更新时间:2023-10-29 00:51:51 26 4
gpt4 key购买 nike

我有一个丑陋的命令,它从传感器获取输出并去除不需要的字符和小数位,然后用带有尾随华氏符号的 awk 打印它。命令看起来像这样:

sensors -f | awk '/temp1/ { print $2 }' | sed 's/+//g' | awk '{ sub (/\..*/, ""); print $1 "°F" }'

此命令的输出如下所示。

101°F

命令有点乱,但它完成了工作,考虑到我对 awk 和 sed 的有限了解,这是值得一提的。我希望有更多知识的人可以告诉我如何压缩这个命令,因为我不清楚如何运行带有搜索模式的 awk,然后是替换,然后打印。任何帮助,将不胜感激。谢谢!

编辑:按要求输出 sensors -f。

acpitz-virtual-0
Adapter: Virtual device
temp1: +112.2°F (crit = +203.0°F)
temp2: +118.6°F (crit = +221.0°F)

coretemp-isa-0000
Adapter: ISA adapter
Core 0: +119.0°F (high = +212.0°F, crit = +212.0°F)
Core 1: +121.0°F (high = +212.0°F, crit = +212.0°F)

最佳答案

# Posix
sensors -f | sed -e '/^temp1:[[:blank:]]\{1,\}[+]/ !d' -e 's///;s/F.*/F/'
# GNU
sensors -f | sed '/^temp1:[[:blank:]]+[+]/!d;s///;s/F.*/F/'

另一种 sed 方法

关于regex - 压缩 awk/sed 管道命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32381161/

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