web-dev-qa-db-fra.com

Comment enregistrer la sortie de cette commande awk dans un fichier?

Je veux enregistrer cette commande dans un autre texte: awk '{print $ 2}' il extrait du texte. maintenant je veux enregistrer la sortie aussi un autre texte. Merci

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

> => Cela redirigera STDOUT vers un fichier. Si le fichier n'existe pas, il le créera. Si le fichier existe, il effacera (en effet) le contenu et y écrira de nouvelles données

>> => Cela signifie la même chose que ci-dessus mais si un fichier existe, cela lui ajoutera de nouvelles données.

Par exemple:

$ 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

Vous pouvez également utiliser la commande tee pour la redirection. La commande tee redirigera STDOUT vers un fichier spécifié ainsi que l'écran du terminal

Pour en savoir plus sur la redirection Shell, allez au lien suivant:

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

27
Suku

Il existe un moyen de le faire depuis l'intérieur de awk lui-même ( 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
6
Damo