2010-06-24 17 views
8

Ecco il contenuto di un file:Come faccio a uscire da una variabile di campo in un comando awk in un alias?

one two three 
four five six 

Ed ecco il mio alias

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

Questo è ciò che ottengo:

> testawk 
one two three 
four five six 

Ma quando io do questo comando, Ottengo quello che voglio:

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

Come faccio a sfuggire allo specificatore di campo nell'alias? NOTA: sto utilizzando csh

+0

Hai provato \ $? –

+0

Ecco una spiegazione sull'affrontare csh meta-chars http://www.grymoire.com/Unix/Csh.html#uh-7 –

+0

'\ $' funziona in bash, ma csh è un po 'più schizzinoso. –

risposta

13

Avvolgi lo pseudonimo con ' e utilizza '\'' per l'' incorporato.

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

Non ho visto che stavi usando csh prima. Questa risposta corretta dovrebbe funzionare per te. –

+0

Grazie. Odio tutti quei piccoli capricci di csh. È troppo male, sono costretto a usarlo qui al mio lavoro. –

Problemi correlati