आदमी पेज दो उदाहरण देता है:
rename 's/\.bak$//' *.bak
rename 'y/A-Z/a-z/' *
तो यह या तो एस या वाई है और फिर /replaceThis/withThis
अग्रणी s और y का क्या अर्थ है? क्या अन्य विकल्प हैं?
आदमी पेज दो उदाहरण देता है:
rename 's/\.bak$//' *.bak
rename 'y/A-Z/a-z/' *
तो यह या तो एस या वाई है और फिर /replaceThis/withThis
अग्रणी s और y का क्या अर्थ है? क्या अन्य विकल्प हैं?
जवाबों:
पहले मामले में:
rename 's/\.bak$//' *.bak
आप फ़ाइल नाम के विरुद्ध एक नियमित अभिव्यक्ति चला रहे हैं और दूसरी अभिव्यक्ति (जो खाली है) के साथ अभिव्यक्तियों के मिलान भाग (एक फ़ाइल नाम के अंत में) को प्रतिस्थापित कर रहे हैं।
दूसरे मामले में:
rename 'y/A-Z/a-z/' *
आप नियमित अभिव्यक्ति पैटर्न स्थान के विरुद्ध मिलान कर रहे हैं और लक्ष्य के लिए अनुवाद कर रहे हैं। दूसरे शब्दों में, सीमा AZ को श्रेणी az में बदल दिया जाता है, जिससे फ़ाइल नाम कम होता है।
मेरा सुझाव है कि आप अधिक कमांड और अधिक विवरण के लिए sed के लिए मैन पेज देखें। मेरा मानना है कि 's' कमांड का प्रयोग सबसे अधिक किया जाता है। साथ ही, रेगेक्स (धारा 7) और पर्ल डॉक्यूमेंट भी मदद के हो सकते हैं। विशेष रूप से, यहाँ एक ट्यूटोरियल है पर्ल और रेगुलर एक्सप्रेशन।
से man sed
:
एस / regexp / प्रतिस्थापन / पैटर्न स्पेस के खिलाफ regexp से मिलान करने का प्रयास करें। अगर सफलता ful, उस हिस्से को प्रतिस्थापन के साथ मिलान करता है। प्रतिस्थापन में विशेष वर्ण और उसका उल्लेख हो सकता है पैटर्न स्पेस का हिस्सा जो मेल खाता है, और विशेष इसी मिलान का उल्लेख करने के लिए \ 9 के माध्यम से बचता है regexp में उप-अभिव्यक्तियाँ। y / स्रोत / गंतव्य / पैटर्न स्पेस में वर्णों का अनुवाद करें जो दिखाई देते हैं भाग्य में संबंधित चरित्र के स्रोत में।