How to save the output of this awk command to file?

awk '{ print $2 }' text.txt > outputfile.txt

> => This will redirect STDOUT to a file. If file not exists, it will create it. If file exists it will clear out (in effect) the content and will write new data to it

>> => This means same as above but if file exists, this will append new data to it.

Eg:

$ 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

Alternatively you can use the command tee for redirection. The command tee will redirect STDOUT to a specified file as well as the terminal screen

For more about shell redirection goto following link:

http://www.techtrunch.com/scripting/redirections-and-file-descriptors


There is a way to do this from within awk itself (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

Tags:

Linux

Awk

Output