2010-06-24 6 views
8

यहाँ एक फ़ाइल की सामग्री हैं:मैं उपनाम में एक awk कमांड में फ़ील्ड चर से कैसे बचूं?

one two three 
four five six 

और यहाँ

alias testawk "awk '{print $2}' file" 

यह मैं क्या मिलता है मेरी अन्य नाम है:

> testawk 
one two three 
four five six 

लेकिन जब मैं यह आदेश है, तो देना मुझे वह चाहिए जो मैं चाहता हूं:

> awk '{print $2}' file 
two 
five 

मैं उपनाम में फ़ील्ड विनिर्देशक से कैसे बचूं? नोट: मैं csh

+0

क्या आपने \ $ कोशिश की? –

+0

यहां सीएसएस मेटा-चार्स से निपटने के बारे में एक स्पष्टीकरण है http://www.grymoire.com/Unix/Csh.html#uh-7 –

+0

'\ $' बैश में काम करता है, लेकिन सीएसएच थोड़ा और जटिल है। –

उत्तर

13

उपनाम w/' लपेटें और एम्बेडेड ' के लिए '\'' का उपयोग करें।

alias testawk 'awk '\''{print $2}'\'' file' 
+0

मैंने नहीं देखा कि आप पहले सीएसएस का उपयोग कर रहे थे। यह सही उत्तर आपके लिए काम करना चाहिए। –

+0

धन्यवाद। मैं सीएसएच के उन सभी छोटे quirks से नफरत है। यह बहुत बुरा है, मुझे अपने काम पर इसका इस्तेमाल करने के लिए मजबूर होना पड़ता है। –

संबंधित मुद्दे