awk '{ print $2 }' text.txt > outputfile.txt
>
=> Questo reindirizzerà STDOUT
a un file. Se il file non esiste, lo creerà. Se il file esiste, cancellerà (in effetti) il contenuto e vi scriverà nuovi dati
>>
=> Questo significa come sopra ma se il file esiste, questo aggiungerà nuovi dati ad esso.
Ad esempio:
$ cat /etc/passwd | awk -F: '{ print $1 }' | tail -10 > output.txt
$ cat output.txt
_warmd
_dovenull
_netstatistics
_avbdeviced
_krb_krbtgt
_krb_kadmin
_krb_changepw
_krb_kerberos
_krb_anonymous
_assetcache
In alternativa puoi usare il comando tee
per il reindirizzamento. Il comando tee
reindirizzerà STDOUT
a un file specificato e allo schermo del terminale
Per ulteriori informazioni sul reindirizzamento della shell, vai al seguente link:
http://www.techtrunch.com/scripting/redirections-and-file-descriptors
C'è un modo per farlo dall'interno di awk stesso (docs)
➜ cat text.txt
line 1
line 2
line three
line 4 4 4
➜ awk '{print $2}' text.txt
1
2
three
4
➜ awk '{print $2 >"text.out"}' text.txt
➜ cat text.out
1
2
three
4