GNU/Linux >> Znalost Linux >  >> Linux

Jak uložit výstup tohoto příkazu awk do souboru?

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

Linux
  1. Uložit veškerý výstup z terminálu do souboru?

  2. Jak připojit výstup do souboru?

  3. jak použít linuxový příkaz Sort k seřazení textového souboru podle 4. sloupce, číselného pořadí?

  1. Jak přesměrovat výstup system() do souboru?

  2. Jak přesměrovat výstup příkazu time do souboru v Linuxu?

  3. Jak přesměrovat výstup příkazu do souboru, když příkaz vyzve uživatele k zadání?

  1. Jak uložit výstup příkazu do souboru v Linuxu

  2. Jak používat příkaz Tar v Linuxu

  3. Jak zachytit výstup top příkazu do souboru v linuxu?