10-04-2010
My main concern would be that tac would read the whole file into memory before reversing it, which has obvious limits. I tried it with strace and found that GNU tac, at least, does no such thing. It seeks to EOF-8K and reads 8K chunks, seeking upwards in 8K jumps. It might have a line-size limit of 8K, but it can handle files of arbitrary size.
Of course, doing so requires seeking, which it can't do if the input is a pipe. In that case it creates a temporary file which it cat's the input into, then backward-reads through the temp file as described above. So for piped streams it may be limited by disk space in /tmp.
Last edited by Corona688; 10-04-2010 at 06:42 PM..
These 2 Users Gave Thanks to Corona688 For This Post:
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
What characters can't be used with a mkdir? Any limits on length of name?
Thank you,
Randy M. Zeitman
http://www.StoneRoseDesign.com (12 Replies)
Discussion started by: flignar
12 Replies
2. Programming
ok i am looking for a vim coad to make a tic tae toe game (dont asky why) can any one give me a URL of help :confused: :confused: :confused: (0 Replies)
Discussion started by: thepicoman
0 Replies
3. UNIX for Dummies Questions & Answers
I would like to set my minimum password length to on Linux and AIX.
However, doing this normally would only make it so newly added users will be affected by this. I would like for when I make this change, it either truncates everyone elses password, or prompts them to change it to 8+ characters.... (2 Replies)
Discussion started by: syndex
2 Replies
4. UNIX for Dummies Questions & Answers
Hi
Can anybody tell the difference between Difference between cat , cat > , cat >> and touch command in UNIX?
Thanks (6 Replies)
Discussion started by: skyineyes
6 Replies
5. Shell Programming and Scripting
Hello,
So I sorted my file as I was supposed to:
sort -n -r -k 2 -k 1 file1 | uniq > file2
and when I wrote
> cat file2
in the command line, I got what I was expecting, but in the script itself
...
sort -n -r -k 2 -k 1 averages | uniq > temp
cat file2
It wrote a whole... (21 Replies)
Discussion started by: shira
21 Replies
6. UNIX and Linux Applications
I'm running a simulation (programmed in C) which makes calls to gnuplot periodically to plot data I have stored.
First I open a pipe to gnuplot and set it to multiplot:
FILE * pipe = popen("gnuplot", "w");
fprintf(pipe, "set multiplot\n");
fflush(pipe);
(this pipe stays open until the... (0 Replies)
Discussion started by: sedavidw
0 Replies
7. Solaris
Hi,
I recently started working with Solaris, and what I noticed is that a lot of commands I used to regularly use don't work, like sed -i and grep -r. I have found work arounds for these problems though but it's a pain in the ass.
I'm just wondering why they decided not to include these handy... (4 Replies)
Discussion started by: Subbeh
4 Replies
8. Shell Programming and Scripting
Any body pls provide me source code of tic tac toe in shell.... (1 Reply)
Discussion started by: Pushpender Sing
1 Replies
9. UNIX Desktop Questions & Answers
Hi,
Today i have seen a file which shows nothing when i use cat/tac.
But when i use vi it displays a single line at the top.
There are no other lines. I am curious why cat/tac doesn't display that line and only vi does?
Any thoughts?
Thanks in advance, (1 Reply)
Discussion started by: pandeesh
1 Replies
TAC(1) User Commands TAC(1)
NAME
tac - concatenate and print files in reverse
SYNOPSIS
tac [OPTION]... [FILE]...
DESCRIPTION
Write each FILE to standard output, last line first.
With no FILE, or when FILE is -, read standard input.
Mandatory arguments to long options are mandatory for short options too.
-b, --before
attach the separator before instead of after
-r, --regex
interpret the separator as a regular expression
-s, --separator=STRING
use STRING as the separator instead of newline
--help display this help and exit
--version
output version information and exit
AUTHOR
Written by Jay Lepreau and David MacKenzie.
REPORTING BUGS
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Report tac translation bugs to <http://translationproject.org/team/>
COPYRIGHT
Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
rev(1)
Full documentation at: <http://www.gnu.org/software/coreutils/tac>
or available locally via: info '(coreutils) tac invocation'
GNU coreutils 8.28 January 2018 TAC(1)