【问题标题】:How to only read the last line from a text file [duplicate]如何仅从文本文件中读取最后一行 [重复]
【发布时间】:2019-05-26 18:05:15
【问题描述】:

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

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

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

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

欢迎提出任何想法。

【问题讨论】:

  • 这里要注意的是$NFawk的术语所以不知道你为什么在shell命令中提到了。

标签: bash text awk grep tac


【解决方案1】:

使用tail ;)

line=$(tail -n 1 input_file)
echo $line
【解决方案2】:

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

tac Input_file | awk '{print;exit}'

【讨论】:

    【解决方案3】:

    使用sedawk

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-06
      • 2023-03-09
      • 2013-07-04
      • 1970-01-01
      • 2013-03-07
      • 1970-01-01
      相关资源
      最近更新 更多