sed - 获取文件中的最后一个值

时间:2017-09-16 22:37:51

标签: regex sed

我正在编写一个脚本来从外部文件中收集值。在此过程中,我发现自己在使用以下sed命令时将结果限制为一行。

以下命令使用" value ="搜索所有单词;通过收集下一个文本,用"#"

忽略行
NUM=$(sed -n -e '/#/!s/^.*value=//p' $LOGFILE)

我发现了其他的命令变体,但没有一个允许使用这些命令行的情况下使用单词。

任何做这个的灵魂只捕获最后一行,但仍然忽略包含"#"?

的行

可选:您是否可以调整此命令以仅捕获数字,忽略线上的单词?

1 个答案:

答案 0 :(得分:1)

以下3种方式:

  1. 如果您只需要sed:

    sed -n '/value=/h; ${g; s/value=//p}' file
    
  2. 如果您可以使用其他工具:

    tac file | sed -n '/value=/{s///p;q}'
    
  3. 或者,这很可读:

    awk -F= '$1 == "value" {value = $2} END {print value}' file