1*23f24377SWarner Loshecho T.redir: test redirections 2*23f24377SWarner Losh 3*23f24377SWarner Loshawk=${awk-../a.out} 4*23f24377SWarner Losh 5*23f24377SWarner Losh$awk '{ print >"foo" }' /etc/passwd 6*23f24377SWarner Loshdiff foo /etc/passwd || echo 'BAD: T.redir (print >"foo")' 7*23f24377SWarner Losh 8*23f24377SWarner Loshrm -f foo 9*23f24377SWarner Losh$awk '{ print >>"foo" }' /etc/passwd 10*23f24377SWarner Loshdiff foo /etc/passwd || echo 'BAD: T.redir (print >>"foo")' 11*23f24377SWarner Losh 12*23f24377SWarner Loshrm -f foo 13*23f24377SWarner Losh$awk 'NR%2 == 1 { print >>"foo" } 14*23f24377SWarner Losh NR%2 == 0 { print >"foo" }' /etc/passwd 15*23f24377SWarner Loshdiff foo /etc/passwd || echo 'BAD: T.redir (print > and >>"foo")' 16*23f24377SWarner Losh 17*23f24377SWarner Loshrm -f foo 18*23f24377SWarner Losh$awk '{ print | "cat >foo" }' /etc/passwd 19*23f24377SWarner Loshdiff foo /etc/passwd || echo 'BAD: T.redir (print | "cat >foo")' 20*23f24377SWarner Losh 21*23f24377SWarner Losh# tests flush of stdout before opening pipe 22*23f24377SWarner Loshecho ' head 23*23f24377SWarner Losh1 24*23f24377SWarner Losh2' >foo1 25*23f24377SWarner Losh$awk 'BEGIN { print " head" 26*23f24377SWarner Losh for (i = 1; i < 3; i++) 27*23f24377SWarner Losh print i | "sort" }' >foo2 28*23f24377SWarner Loshdiff foo1 foo2 || echo 'BAD: T.redir (buffering)' 29*23f24377SWarner Losh 30*23f24377SWarner Loshrm -f foo[12] 31*23f24377SWarner Losh$awk '{ print >"/dev/stderr" }' /etc/passwd 1>foo1 2>foo2 32*23f24377SWarner Loshdiff foo2 /etc/passwd || echo 'BAD: T.redir (print >"/dev/stderr")' 33*23f24377SWarner Loshdiff foo1 /dev/null || echo 'BAD: T.redir (print >"/dev/stderr")' 34*23f24377SWarner Losh 35*23f24377SWarner Loshrm -f foo[12] 36*23f24377SWarner Losh$awk '{ print >"/dev/stdout" }' /etc/passwd 1>foo1 2>foo2 37*23f24377SWarner Loshdiff foo1 /etc/passwd || echo 'BAD: T.redir (print >"/dev/stdout")' 38*23f24377SWarner Loshdiff foo2 /dev/null || echo 'BAD: T.redir (print >"/dev/stderr")' 39