我想从最后一行到第一行读一行。 例如: 蚂蚁 球 猫 最多50行 我需要向后打印
答案 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