5

catLinuxでは、ファイルのすべてのコンテンツを最初から最後まで印刷するために使用できることを知っています。それを逆方向に行う方法はありますか(最後の行が最初)?

4

3 に答える 3

14

はい、「tac」コマンドを使用できます。

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
于 2013-02-17T21:03:28.840 に答える
7
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
于 2013-02-17T21:25:40.077 に答える
5

tacこれは一方向ですが、すべてのLinuxでデフォルトで使用できるわけではありません。

awkは次のようにそれを行うことができます:

awk '{a[NR]=$0}END{for(i=NR;i>=1;i--)print a[i]}' file
于 2013-02-17T21:07:28.240 に答える