1
seawing 2023-02-10 16:01:55 +08:00
输出什么,怎么输出不都是 cmd 自身代码逻辑控制的吗?怎么改都行吧
|
2
AoEiuV020CN 2023-02-10 16:02:40 +08:00
不能,你必须找个方法把所有出现过的行或者特征摘要给缓存起来,再判断,
|
3
smallparking 2023-02-10 16:18:55 +08:00 via Android
使用 cmd 命令行终端本身并不能实现这个功能。如果想要实现这样的需求,可以使用其他编程语言,例如 Python 或 C++,编写代码来实现。
代码实现步骤: 读取日志文件内容 将读取到的内容存储到一个容器(例如 list )中 每次从控制台读取一行内容 在容器中查找是否存在这一行内容 如果容器中不存在这一行内容,则将其写入日志文件 这样就可以实现日志不重复的效果。 by chatgpt |
4
thinkershare 2023-02-10 16:28:26 +08:00
你自己想想就知道了,当然是不行,否则>> 输出变成了一个 O(n)的写入操作,首先需要读取已经存在的所有行,然后从头匹配一次,然后确定是否追加.
正确姿势肯定是应该在程序里面自己缓存,然后检测是否需要使用>>追加到文件。 |
5
aijam 2023-02-10 16:29:15 +08:00
换个思路,你把带重复的 log11.txt 丢 uniq 里不行吗?
|
6
julyclyde 2023-02-10 16:48:43 +08:00
如果你的程序能够特地去分 stdout 和 terminal 的话(不过我看你的问法,你不像是了解这俩区别的口气)只能自己想办法做“去重复”了
如果你的程序根本不知道什么叫 terminal ,而仅仅是给 stdout 输出,那根本不会重复 |
7
1054850490 OP @smallparking 3# AI 大法好
|
8
1054850490 OP @aijam 我本身的代码知识不够,所以很多的逻辑完全不懂
|