मेरे पास डोमेन नामक एक फ़ाइल है जिसमें कुछ डोमेन शामिल हैं। उदाहरण के लिए:नियमित अभिव्यक्तियों में अजीब चर का उपयोग कैसे करें?
google.com
facebook.com
...
yahoo.com
और मैं साइट जो कुछ साइट्स के यूआरएल और संख्या शामिल नामक एक और फ़ाइल है। उदाहरण के लिए:
image.google.com 10
map.google.com 8
...
photo.facebook.com 22
game.facebook.com 15
..
अब मैं प्रत्येक डोमेन के यूआरएल नंबर को गिनने जा रहा हूं। उदाहरण के लिए: google.com में 10 + 8 है।
BEGIN{
while(getline dom < "./domain" > 0) {
domain[dom]=0;
}
for(dom in domain) {
while(getline < "./site" > 0) {
if($1 ~/$dom$) #if $1 end with $dom {
domain[dom]+=$2;
}
}
}
}
लेकिन कोड if($1 ~/$dom$)
नहीं चलता है कि मैं चाहता हूँ: तो मैं इस तरह एक awk पटकथा लिखी। क्योंकि नियमित अभिव्यक्ति में परिवर्तनीय $ dom शब्दशः समझाया गया था। तो, पहला सवाल यह है:
क्या नियमित अभिव्यक्ति में परिवर्तनीय $dom
का उपयोग करने का कोई तरीका है?
फिर, जैसा कि मैं लेखन स्क्रिप्ट के लिए नया हूँ
वहाँ समस्या मैं हल करने के लिए किसी भी बेहतर तरीका है? एक ऑपरेटर चर dom
दूसरे में संग्रहीत स्तंभ संख्या का मान प्राप्त करने के रूप में विचार करें $
, awk क्या //
के बीच है अंतर्वेशन नहीं होगा -
अनुरूप के खिलाफ मेल खाते हैं $ के साथ, यह बेहतर समझाया गया है (आईएमओ) अजीब में $ साधन फ़ील्ड के रूप में, इसलिए $ dom का मतलब फ़ील्ड का मतलब है जो भी डोम का मान है। अजीब में चर का उपयोग बिना छेड़छाड़ और $ के बिना किया जाता है। यह खोल नहीं है! –