Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to read a file backwards on Linux? [closed]

Tags:

linux

cat

I know that I can use cat to print all content from a file from beginning to end on Linux. Is there a way for doing that backward (last line first)?

like image 827
Pedro Alves Avatar asked Feb 17 '13 21:02

Pedro Alves


2 Answers

Yes, you can use "tac" command.

From man tac:

Usage: tac [OPTION]... [FILE]...
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
like image 199
Pedro Alves Avatar answered Oct 21 '22 22:10

Pedro Alves


sed '1!G;h;$!d' file

sed -n '1!G;h;$p' file

perl -e 'print reverse <>' file

awk '{a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }' file
like image 37
Fredrik Pihl Avatar answered Oct 21 '22 22:10

Fredrik Pihl