बैश: मैं अक्षरों और स्थानापन्न पाठ को गिनना चाहता हूं


-1

ठीक है, इसलिए मैं शेल स्क्रिप्टिंग को कोसने के लिए बहुत नया हूं और मैं इस बिंदु तक बहुत सफल रहा हूं। मैं एक समस्या को ठीक करने के लिए BASH का उपयोग कर रहा हूं ...

मैं एक मूल डोमेन नाम चालू करना चाहता हूं:

मूल रूप से, मुझे अक्षरों को गिनने और इसे हेक्स में बदलने की आवश्यकता है। स्पष्ट होने के लिए, डोमेन नाम को हेक्स में परिवर्तित न करें, लेकिन अक्षर हेक्स पर गिना जाए। मुझे इस अवधि को बदलने में मुश्किल समय आ रहा है "।"

मुझे आशा है कि आप समझ गए होंगे कि मैं क्या हासिल करने की कोशिश कर रहा हूं ...

अग्रिम में मदद के लिए धन्यवाद!


तो आपने गिनती को हल कर दिया, और हम आपको बताना चाहते हैं कि पीरियड्स को कैसे बदला जाए?
बजे एक CVn

खैर दोनों यदि संभव हो तो। मैं उन नंबरों को हाथ से निकालता हूं जो मैं देख रहा हूं।
डॉ। मैनहट्टन

ओह और गिनती संख्याओं के बाद हेक्स में है ... 0 ए, 0 बी .... यू बाकी मिलता है।
डॉ। मैनहट्टन

जवाबों:


0

यहाँ जाग का उपयोग करके ऐसा करने का एक सीधा तरीका है

echo "Buddies.forlife.com" | awk -F '.' '{ printf( "|0x%x|%s|0x%x|%s|0x%x|%s\n", length($1),$1, length($2),$2, length ($3), $3 )}'
|0x7|Buddies|0x7|forlife|0x3|com

Awk कमांड क्षेत्र विभाजक -F '.'को एक अवधि के लिए सेट कर रहा है , इसलिए प्रत्येक सेगमेंट को माना जाता है कि यह स्वयं का फ़ील्ड है।

हम तब तक उन क्षेत्रों का उल्लेख कर सकते $1, $2 and $3, अंतर्निहित फ़ंक्शन का उपयोग lengthप्रत्येक क्षेत्र के वर्णों की संख्या प्राप्त करने के लिए, और (परिणाम बाहर मुद्रित करने के लिए एक printf का उपयोग %xहेक्स संख्या के लिए, %sमूल स्ट्रिंग्स के लिए, और उत्पादन क्षेत्र जुदाई का उपयोग कर '|' प्रतीक, आपके द्वारा निर्दिष्ट प्रारूप में।

0xउपसर्ग आम तौर पर हेक्स संख्या से संकेत मिलता है के लिए इस्तेमाल किया जाता है, लेकिन रूप में की जरूरत कुछ और (या कुछ भी नहीं) को बदला जा सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.