如何读取shell中最后一行到第一行的文件?

时间:2018-02-10 13:31:22

标签: bash shell

我想从最后一行到第一行读一行。 例如: 蚂蚁 球 猫 最多50行 我需要向后打印

3 个答案:

答案 0 :(得分:1)

解决方案1: 将使用tac

tac Input_file

解决方案第二: 如果您的系统中没有tac

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

解决方案3: 还有另一个sed解决方案:

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

解决方案4: 也使用awk

awk '{a[FNR]=$0} END{for(i=FNR;i>=1;i--){print a[i]}}'   Input_file

解决方案5: perl解决方案:

perl -e 'print reverse <>'  Input_file

答案 1 :(得分:0)

使用类似tac [file]的{​​{1}},但向后打印行。

来自tac手册页:

  

NAME

cat
     

概要

   tac - concatenate and print files in reverse

答案 2 :(得分:0)

$ echo -e 1\\n2 |
awk '{b=$0 (b==""?"":ORS b)}END{print b}'
2
1

说明:

$ awk '{b=$0 (b==""?"":ORS b)}  # buffer records to the beginning of b
END{print b}'                   # after all records were buffered print b