linux 下多个文件合并问题

2015-05-21 18:13:19 +08:00
 fxxkgw

假设有三个文件1 2 3
三个文件每几分钟增加一些内容(也就是写入一些字符),同时三个文件全部放到文件4中
现在方法是直接cat > 4 方式,缺点是每次4的内容都要重新写 效率太低
现在想变成 1 2 3 只把更新的内容写入4 有什么办法或者命令么?
shell最好,谢谢。

1847 次点击
所在节点    问与答
6 条回复
Andiry
2015-05-21 18:30:25 +08:00
写123的时候同时append 4不就行了?
fxxkgw
2015-05-21 18:34:16 +08:00
例子中的1 2 3 文件是从远程服务器通过rsync方式保存到本机的,所以无法在写1 2 3的时候顺道写一份都4
lululau
2015-05-21 18:43:31 +08:00
stat + dd
clino
2015-05-21 18:44:24 +08:00
tail -f加管道说不定可以
weyou
2015-05-21 18:45:59 +08:00
写个脚本,监视文件123文件,如果任何文件大小有改动,读取增加的行到文件4,并记录下当前行数,以待下次读取。
lululau
2015-05-21 21:01:15 +08:00
dd if=new_1 bs=1 iseek=$(stat -c%s old_1) >> 4
dd if=new_2 bs=1 iseek=$(stat -c%s old_2) >> 4
dd if=new_3 bs=1 iseek=$(stat -c%s old_3) >> 4

手边没有 Linux,记不准 GNU stat 的用法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/192782

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX