|
|
1.1 ! root 1: .\" @(#)tac.1 1.2 6/5/86 ! 2: .\" ! 3: .TH TAC 1 "June 5, 1986" ! 4: .SH NAME ! 5: tac \- concatenate and print files in reverse ! 6: .SH SYNOPSIS ! 7: .B tac ! 8: [ ! 9: .B \-string ! 10: ] [ ! 11: .B +string ! 12: ] [ file ... ] ! 13: .SH DESCRIPTION ! 14: .I Tac ! 15: reads each ! 16: .I file ! 17: in sequence ! 18: and writes it on the standard output, reversed by the file segments ! 19: delimited by ! 20: .I string. ! 21: .I \-string ! 22: specifies segments bounded on the left by ! 23: .I string, ! 24: while ! 25: .I +string ! 26: specifies right-bounded segments. ! 27: The default is ! 28: .I +\en ! 29: (print lines in reverse order). ! 30: If no input ! 31: .I file ! 32: is given, or if the argument `-' ! 33: is encountered, ! 34: .I tac ! 35: reads from the standard input. Note that in this case ! 36: .I tac ! 37: stores the entire standard input in a temporary ! 38: file before it outputs anything, so for large input it is slow. ! 39: .SH EXAMPLES ! 40: .RS ! 41: tac '-\e ! 42: .br ! 43: From\ ' /usr/spool/mail/$USER ! 44: .RE ! 45: prints out one's mail messages, most recent first. ! 46: .PP ! 47: .RS ! 48: tac file ! 49: .RE ! 50: prints the file in reverse, line by line, and: ! 51: .PP ! 52: .RS ! 53: tac /usr/adm/messages | egrep 'hp.*hard' ! 54: .RE ! 55: prints out the hard errors on MASSBUS disk drives, most recent first. ! 56: .SH SEE ALSO ! 57: cat(1), rev(1), tail(1), tmail(1) ! 58: .SH BUGS ! 59: .I Tac ! 60: doesn't handle multiple argument files exactly right, and it's ! 61: also unclear in which order they should be processed. ! 62: .br ! 63: If invoked as `tac < file', ! 64: .I tac ! 65: uses a temp file but it doesn't have to.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.