मैं मशीन की व्याख्या प्राप्त करने की कोशिश कर रहा हूं, लेकिन जब मैं निम्नलिखित कमांड का उपयोग करता हूं:
sensors | awk "/thermistor/ && /temp5/ {print $2}"|awk "sub("/+/","",$1) sub("/.0°C/","",4$)"
यह मुझे उदाहरण के लिए दे +26.0°C
मैं चाहता हूं कि आउटपुट 26 हो जाए मैंने कोशिश की कि मैं फेलिंग करूं और इसने मुझे वही परिणाम दिया
sensors | awk "/thermistor/ && /temp5/ {print $2}"|awk "gsub("/+","") gsub("/.0°C","")"
कृपया सलाह दें, धन्यवाद
उत्तर:
उत्तर № 1 के लिए 1आपका gsub कमांड होना चाहिए,
echo "+26.0°C" | awk "{gsub(/+|.0°C/, "")}1"
+
, .
regex में विशेष चार हैं। आपको उन लोगों के लेट्रल चरित्र से मेल करने के लिए उस इनवर्टर से बचना चाहिए। और यह भी आप आगे स्लैश delimiters के भीतर regex पैटर्न लिखना चाहिए।
उत्तर № 2 के लिए 1
इस gsub
समस्या लगती है:
gsub("/.0°C","");
पहले तर्क के रूप में एक अमान्य रेगेक्स स्ट्रिंग है।
इसे बदलें:
gsub(/.0°C/,"");