从最后一行逐行读取文件

时间:2016-10-13 17:06:11

标签: linux bash shell sh

我要求从最后一行到第一行逐行读取文件。现在,我可以从下面的代码开始逐行读取文件。

while IFS= read line
do
  #Logic here
done <"$Input_File"

请帮我解决从最后一行逐行读取文件的问题。

2 个答案:

答案 0 :(得分:3)

您可以使用tac从最后一行读取文件,直到第一行。使用您的示例,您可以:

while IFS= read line
do
  #Logic here
done <<<(tac "$Input_File")

请参阅tac 的手册页(默认情况下,您的分发版可能未安装,但应使用软件包管理器提供)。

答案 1 :(得分:0)

file="path/to/your/file.txt"
awk '{print NR ":" $0}' $file | sort -t: -k 1nr,1 | sed 's/^[0-9][0-9]*://'