awk '{ print $2 }' text.txt > outputfile.txt
>
=> Toto přesměruje STDOUT
do souboru. Pokud soubor neexistuje, vytvoří jej. Pokud soubor existuje, vymaže (ve skutečnosti) obsah a zapíše do něj nová data
>>
=> To znamená totéž jako výše, ale pokud soubor existuje, připojí se k němu nová data.
Např.:
$ 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
Případně můžete použít příkaz tee
pro přesměrování. Příkaz tee
přesměruje STDOUT
do určeného souboru a také na obrazovku terminálu
Další informace o přesměrování shellu získáte na následujícím odkazu:
http://www.techtrunch.com/scripting/redirections-and-file-descriptors
Existuje způsob, jak to udělat ze samotného awk (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