我知道我可以用cat
它在 Linux 上从头到尾打印文件中的所有内容。有没有办法向后做(最后一行)?
问问题
10652 次
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 回答