如何仅从文本文件中读取最后一行

时间:2018-12-29 03:58:30

标签: bash text awk grep tac

我正在从事工具项目。我需要从文件中获取最后一行并分配给变量。这是我尝试过的:

line=$(head -n $NF input_file)
echo $line

也许我可以反读文件然后使用

line=$(head -n $1 input_file)
echo $line

欢迎提出任何想法。

3 个答案:

答案 0 :(得分:2)

使用tail;)

line=$(tail -n 1 input_file)
echo $line

答案 1 :(得分:1)

此处tacawk的组合。这种方法的好处是我们不需要读取其中完整的Input_file。

tac Input_file | awk '{print;exit}'

答案 2 :(得分:0)

使用sedawk

sed -n '$p' file
sed '$!d' file
awk 'END{print}' file

但是,tail仍然是完成这项工作的正确工具。