आप निम्नलिखित आदानों है की शुभकामनाएं दें!
perl -i.bak -pe '$_ = uc' a b c
तो अब
$ cat a b c
A IS A
B IS B
C IS C
लेकिन हम वास्तव में चाहते हैं कर सकते हैं एक आदेश में इस upcase
कहा जाता है, और ऐसा करने के लिए आसान है!
#! /usr/bin/perl -pi.bak
$_ = uc
काम पर यह देखें:
$ for i in a b c ; do echo "$i is $i" > $i; done
$ cat a b c
a is a
b is b
c is c
$ ./upcase a b c
$ !cat
cat a b c
A IS A
B IS B
C IS C
एक answer to a similar question से और टिप्स:
-e
विकल्प का परिचय पर्ल कोड निष्पादित-जो किया जाना है आप के रूप में एक स्क्रिप्ट के पर सोच सकते हैं कमांड लाइन-तो इसे छोड़ दें और शरीर में कोड चिपकाएं। Shebang (#!
) लाइन में -p
छोड़ें।
सामान्यतः, शेबांग लाइन में विकल्पों में से अधिकांश "क्लंप" पर चिपकना सुरक्षित है। यदि आपको और अधिक चाहिए, तो आप हमेशा अपने समकक्षों को BEGIN {}
ब्लॉक के अंदर फेंक सकते हैं।
निष्पादन बिट चालू करने के लिए मत भूलना!
chmod +x script-name
क्योंकि आप वास्तविक एक लाइनर आप परिवर्तित करना चाहते हैं नहीं दिया, मैं एक व्यापक, सामान्य जवाब देने के लिए किया था। यदि आप अपने प्रश्न को संपादित करने के लिए इसे संपादित करते हैं, तो आप इसे अधिक उपयोगी उत्तर दे सकते हैं।
स्रोत
2010-07-10 19:25:39
क्या आपका मतलब है कि पर्ल लिनक्स (खोल) कमांड लाइन पर कॉल करें, या शेल कॉल पर्ल है? – Ether