首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
宝塔
V2EX  ›  Linux

如何使新的 log 输出放在前面?

  •  
  •   Devin · 2015-12-15 18:31:23 +08:00 via iPhone · 1872 次点击
    这是一个创建于 1431 天前的主题,其中的信息可能已经有所发展或是发生改变。
    假设多次成功运行 test.sh >> abc.log 输出 log 如下:
    1 OK!
    2 OK!
    3 OK!
    4 OK!
    5 OK!

    在不修改 test.sh 的前提下,如何使新的 log 输出放在前面,变成如下形式:
    5 OK!
    4 OK!
    3 OK!
    2 OK!
    1 OK!

    PS: 不是要对 abc.log 进行二次处理,是对 test.sh 的输出进行处理
    13 回复  |  直到 2015-12-24 13:04:52 +08:00
        1
    terrancy   2015-12-15 19:58:39 +08:00   ♥ 1
    文件指针在最后面就是第一种,文件指针在最前面就是第二种.
        2
    raysonx   2015-12-15 20:01:47 +08:00 via Android   ♥ 1
    往前插入非常影響效率,每次寫入都要重建文件。這是文件系統決定的。
    建議還是用追加方式輸出日誌,然後用 tac 讀取
        3
    gamexg   2015-12-15 20:06:41 +08:00 via Android
    @terrancy 修改文件指针会覆盖老内容。我记得文件系统只能在后面追加,无法在前面插入内容啊。
        4
    knightdf   2015-12-15 20:18:57 +08:00   ♥ 1
    把 abc.log 换成你自己写的一个 FIFO 队列。。。
        5
    jarlyyn   2015-12-15 20:26:05 +08:00
    为啥不是对显示 log 的方式进行处理呢……

    tac+1
        6
    Devin   2015-12-15 20:31:11 +08:00 via iPhone
    @jarlyyn 有些场景,比如说把服务器的 log 文件下载到客户端查看,但客户端是 win 不支持 tac 命令。。。不过权衡下还是用追加的好了
        7
    jarlyyn   2015-12-15 20:33:32 +08:00   ♥ 1
    test.sh | tac >> abc.log
        8
    Devin   2015-12-15 20:34:48 +08:00 via iPhone
    @knightdf 这样的话输入到数据库再排序可能更简捷
        9
    Devin   2015-12-15 20:38:52 +08:00 via iPhone
    @jarlyyn 不对,单次执行的输出是这样的
    1 OK!
    这里 tac 没意义😂
        10
    jarlyyn   2015-12-15 20:40:33 +08:00
    还有就是为了做日志的话,完全可以

    tar abc.log |gzip> abcrev.log.gz

    数据生成的时候没必要去做这些特殊操作吧?
        11
    Devin   2015-12-15 20:47:41 +08:00 via iPhone
    @jarlyyn 一开始 Google 没搜到答案,觉得奇怪难道没人这么用?看了 2 楼才知道
        12
    matrix67   2015-12-15 21:13:00 +08:00
    我就知道有人会说这个是 X-y problem[1]。

    [1].http://xyproblem.info/


    颇有 hack news 风范。
        13
    songco   2015-12-24 13:04:52 +08:00
    目前的文件系统不支持这么玩...所以效率是个问题
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   895 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 19:55 · PVG 03:55 · LAX 11:55 · JFK 14:55
    ♥ Do have faith in what you're doing.