如何在命令运行时简化输出文件

时间:2011-12-20 04:57:03

标签: linux bash

有时我会用“>>”将命令的所有输出信息重定向到日志文件, 但是我发现在查看日志,太多的信息信息时有点不方便 所以我想知道我是否可以将输出信息的最后一行重定向到日志。

如果我执行这样的脚本: 命令A. 如果[$? -eq 0] 然后 echo“ok”>> LOG_FILE 其他 echo“failed”>> LOG_FILE 科幻 当A运行时系统暂停,我会在log_file中找到什么?

4 个答案:

答案 0 :(得分:3)

如果你只想要最后一行:

your_cmd | tail -n 1 >> output_file.log

答案 1 :(得分:1)

您无法重定向最后一行输出,但您可以检查最后一行。

tail -1 file

会给你最后一行。如果省略-1,则默认为-10(最后10行)。

或者您可以使用less

less file

并按 G 跳转到文件底部。

哦 - @skjaidev已经向您展示了如何将最后一行过滤成文件。

答案 2 :(得分:1)

tail肯定是-1选项的最佳选择,但您可以使用awk执行此操作 -

…|awk 'END{print NR}' < log.file > new.log.file

答案 3 :(得分:0)

Tr this

command | tail -1 >> out_file