Il est possible de rediriger les sorties du script vers un fichier ou vers une commande du système.
Syntaxe
| instruction > "fichier" | Au premier appel, le fichier est ouvert en mode "écrasement", puis écriture. Les écritures suivantes se font en mode "ajout" | 
| instruction >> "fichier" | Au premier appel, le fichier est ouvert en mode "ajout", puis écriture. Les écritures suivantes se font également en mode "ajout" | 
| print[f] "..." | "commande" | Le résultat de la fonction print/printf est transmise sur l'entrée standard de la commande système par l'intermédiaire d'un tube (pipe) | 
Exemple 1
Ouverture en mode "écrasement"
$ nl script2.awk
	     1  BEGIN {
	     2          fichier = "/root/fichier1.txt"
	     3          print "Ligne 1" > fichier
	     4          print "Ligne 2" > fichier
	     5          print "Ligne 3" > fichier
	     6          close(fichier)
	     7  }
	$ uptime > /root/fichier1.txt
	$ cat /root/fichier1.txt
	 13:47:18 up 7 days,  5:28,  0 users,  load average: 0.00, 0.00, 0.00
	$ awk -f script2.awk
	$ cat /root/fichier1.txt
	Ligne 1
	Ligne 2
	Ligne 3
	$
Exemple 2
Ouverture en mode "ajout"
$ nl script3.awk
	     1  BEGIN {
	     2          fichier = "/root/fichier1.txt"
	     3          print "Ligne 1" >> fichier
	     4          print "Ligne 2" > fichier
	     5          print "Ligne 3" > fichier
	     6          close(fichier)
	     7  }
	$ uptime > /root/fichier1.txt
	$ cat /root/fichier1.txt
	 13:50:40 up 7 days,  5:31,  0 users,  load average: 0.00, 0.00, 0.00
	$ awk -f script3.awk
	$ cat /root/fichier1.txt
	 13:50:40 up 7 days,  5:31,  0 users,  load average: 0.00, 0.00, 0.00
	Ligne 1
	Ligne 2
	Ligne 3
	$
Exemple 3
Ecriture dans un tube. Trier les lignes par users croissants.
	La commande sort est exécutée une seule fois puis fermée dans la section END.
$ nl /etc/passwd
	     1  root:x:0:0:root:/root:/bin/bash
	     2  daemon:x:1:1:daemon:/usr/sbin:/bin/sh
	     3  bin:x:2:2:bin:/bin:/bin/sh
	     4  sys:x:3:3:sys:/dev:/bin/sh
	     5  sync:x:4:65534:sync:/bin:/bin/sync
	     6  games:x:5:60:games:/usr/games:/bin/sh
	     7  man:x:6:12:man:/var/cache/man:/bin/sh
	     8  lp:x:7:7:lp:/var/spool/lpd:/bin/sh
	     9  mail:x:8:8:mail:/var/mail:/bin/sh
	    10  news:x:9:9:news:/var/spool/news:/bin/sh
	    11  uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
	    12  proxy:x:13:13:proxy:/bin:/bin/sh
	    13  www-data:x:33:33:www-data:/var/www:/bin/sh
	    14  backup:x:34:34:backup:/var/backups:/bin/sh
	    15  list:x:38:38:Mailing List Manager:/var/list:/bin/sh
	    16  irc:x:39:39:ircd:/var/run/ircd:/bin/sh
	    17  gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
	    18  nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
	    19  libuuid:x:100:101::/var/lib/libuuid:/bin/sh
	    20  postfix:x:101:104::/var/spool/postfix:/bin/false
	    21  sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
	    22  mysql:x:103:108:MySQL Server,,,:/var/lib/mysql:/bin/false
	$ awk -F':' '{print $0 | "sort"} END {close("sort")}' /etc/passwd
	backup:x:34:34:backup:/var/backups:/bin/sh
	bin:x:2:2:bin:/bin:/bin/sh
	daemon:x:1:1:daemon:/usr/sbin:/bin/sh
	games:x:5:60:games:/usr/games:/bin/sh
	gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
	irc:x:39:39:ircd:/var/run/ircd:/bin/sh
	libuuid:x:100:101::/var/lib/libuuid:/bin/sh
	list:x:38:38:Mailing List Manager:/var/list:/bin/sh
	lp:x:7:7:lp:/var/spool/lpd:/bin/sh
	mail:x:8:8:mail:/var/mail:/bin/sh
	man:x:6:12:man:/var/cache/man:/bin/sh
	mysql:x:103:108:MySQL Server,,,:/var/lib/mysql:/bin/false
	news:x:9:9:news:/var/spool/news:/bin/sh
	nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
	postfix:x:101:104::/var/spool/postfix:/bin/false
	proxy:x:13:13:proxy:/bin:/bin/sh
	root:x:0:0:root:/root:/bin/bash
	sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
	sync:x:4:65534:sync:/bin:/bin/sync
	sys:x:3:3:sys:/dev:/bin/sh
	uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
	www-data:x:33:33:www-data:/var/www:/bin/sh
	$