github.com/benhoyt/goawk@v1.8.1/testdata/T.redir (about)

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