问题标签 [fileparsing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ftp-client - 解析 Windows FTP 服务器的文件详细信息
我正在尝试通过 c# 代码连接到 FTP 服务器,并且正在获取文件和目录的列表。而且我保存在一个 ArrayList(具有所有属性)中。我可以通过 SYS ftp 命令找到 FTP Server 类型。我有一个基于 UNIX 的文件的正则表达式来解析文件\目录属性。但我对 Windows FTP 服务器文件的解析没有任何表达。我需要帮助才能做到这一点..
我需要解析这些。日期、时间、目录\文件、文件名
请帮忙。谢谢。
java - 在 Java 中打印包含特定模式的字符串
我试图在 .csv 文件的一行中找到一个正则表达式,因此我最终可以将所有匹配项保存到另一个文件中,并丢失所有其他垃圾。
所以我文件中的一行可能如下所示:MachineName,User,IP,VariableData,Location
VariableData 是我要匹配的内容,如果匹配,则打印该行。我为此使用了一个模式,因为我只想要 VariableData 的 10 个变体中的 3 个,并且在这 3 个变体中,它们的编号不同(例如,“pc104、pccrt102、pccart65”)。
我正在尝试使用 Scanner 类来做到这一点,并尽可能保持简单,以便我能理解它。这是我的目标......(模式不完整,只需像这样进行测试)。
这段代码循环,我猜 .hasNext() 方法正在重置自己。我已经玩了一点 Matcher 类,但只找到了一种匹配表达式但没有得到整行的方法。
我的另一个想法可能是以某种方式计算包含模式的行,然后返回并打印与计数相对应的行。
large-files - 给定数据包的踪迹,您将如何将它们分组为流?
到目前为止,我已经尝试过这些方法:
1) 以源 IP/端口和目标 IP/端口为键进行散列。散列中的每个位置都是一个数据包列表。然后将哈希值保存在一个文件中,每个流由一些特殊字符/行分隔。问题:没有足够的内存用于大型跟踪。
2) 使用与上述相同的键进行散列,但仅将文件句柄保存在内存中。然后将每个数据包放入指向正确文件的 hash[key] 中。问题:太多的流/文件(~200k),它也可能耗尽内存。
3) 对源 IP/端口和目标 IP/端口进行哈希处理,然后将信息放入文件中。2和3的区别在于,这里每次操作都会打开和关闭文件,所以我不用担心因为我同时打开太多而导致内存不足。问题:太慢了,文件数量与 2 相同,所以也不切实际。
4) 对源 IP/端口对进行哈希处理,然后对每个流的整个跟踪进行迭代。获取属于该流的数据包并将它们放入输出文件中。问题:假设我有一个包含 200k 流的 60 MB 跟踪。这样,我会处理一个 60 MB 的文件 20 万次。也许在我迭代时删除数据包会使它不那么痛苦,但到目前为止我不确定这是否是一个好的解决方案。
5) 按 IP 源/目标拆分它们,然后为每个文件创建一个文件,用特殊字符分隔流。文件仍然太多(+50k)。
现在我正在使用 Ruby 来做这件事,我猜这可能是个坏主意。目前我已经用 tshark 过滤了这些痕迹,这样它们就只有相关信息,所以我真的不能让它们变得更小。
我考虑过使用 C#/Java/C++ 将所有内容加载到内存中,如 1) 中所述,但我想知道这里是否没有更好的方法,特别是因为即使使用更高效的方法,我以后也可能会耗尽内存如果我必须使用更大的痕迹,语言。
总之,我面临的问题是我的文件太多或内存不足。
我也尝试过搜索一些工具来过滤信息,但我认为没有。我发现的那些只返回一些统计数据,并且不会根据我的需要扫描每个流。
ruby - 在 Ruby 中比较日志文件中的 2 行,它们都包含相同的“WORD”,但只打印出最后写入的行
这是示例行
现在 LATEST 行必须是具有最新日期字符串的行,而那是需要打印的行,加上解析器在日志文件上运行的下一次,不知何故,必须将前一个 LATEST 行与现有的行进行比较最新的,它可以是这样的,没有改变,旧的行仍然是最新的,或者有一个新的行,但只有新的日志行应该被打印,而不是如果没有新的日志条目。
c# - 在写入光盘之前处理文件内容 C#
所以我解密了一个文件,剩下一个包含这个的字节数组(Uni-encoded):
在哪里“我的超级秘密信息”。是文件的内容,可以是任何时间的文件内容(Word、Excel 等)。解析此信息并将原始文件写回驱动器的最佳方法是什么?
这个二进制数据是否可能实际上是电子邮件附件?我将如何重新创建电子邮件附件然后提取原始文件?
java - java中的文件处理
我有一个 2GB 大小的文件,里面有学生记录。我需要根据每条记录中的某些属性找到学生,并创建一个包含结果的新文件。过滤学生的顺序应与原始文件中的顺序相同。在没有内存问题的情况下,使用 Java IO API 和线程执行此操作的最有效和最快的方法是什么?JVM 的最大堆大小设置为 512MB。
php - 生成具有给定结构的二进制文件
我有一个使用二进制格式样式配置的设备,我必须即时生成该文件。
文件结构必须包含多个配置设置(每个参数 1 个),每个格式如下:
- 类型
- 长度
- 价值
在哪里:
- 类型:是定义参数的单字节标识符
- 长度:是单个八位字节,包含八位字节中值字段的长度(不包括类型和长度字段)
- 值:从 1 到 254 个八位字节,包含参数的特定值
我有对应的表
如何将该表解析为该二进制格式?而且,第二种方式,如何将该二进制文件解析为 php 数组格式?
perl - perl 中的旋转日志文件
我已经实现了一个日志文件,它将在每分钟之后存储进程的 cpu 和内存状态。我将文件的最大大小限制为 3MB(这对于我的目的来说已经足够了)。
该脚本将在每分钟后由 cron 作业调用,该脚本将记录该分钟的详细信息并将文件重命名为 "Log_.log"。
当大小达到“3MB - 100 字节”时,我将文件指针重置为指向开头,并将覆盖日志文件中的第一个条目,现在将文件重命名为“Log_<0+some offset>.log”。
当我每分钟重命名文件以更新文件指针位置时,这是一种好的/有效的方法吗?
为此,我不想维护多个日志文件。
我的另一个选择是保持文件中的文件指针位置,但是....另一个文件!如果此选项不错,则对维护一个不感兴趣:)
提前致谢。
perl - Perl脚本用另一行更新文件的一行
我有文本格式的数据文件,其中有几行。现在有些行有错误的数据,我需要用那些有正确数据的行来更新。例如,
实际数据不同,但这是它的简化版本。如您所见,有某些 Col1,其中 A1 是 A,但 A4 是 Y,依此类推。其余列 Col3、Col4 ... 取决于 Col2。因此,当 Col1 中有 A(A1、A2、A3 等)时,我需要检查 Col2 是否为 A。如果不是,我必须根据 A 所在的行更新 Col2、Col3 ....
如何在 Perl 中实现这一点。我知道这种操作可以在带有更新语句的数据库中完成,但我在这里没有那么奢侈,必须以编程方式完成。
编辑:文件是制表符分隔的,数据是可以包含任何字母数字或 ascii 字符的字符串。
perl - 帮助将 perl 代码例程合并在一起以进行文件处理
我需要一些 perl 帮助来将这些 (2) 进程/代码一起工作。我能够让它们单独工作以进行测试,但我需要帮助将它们组合在一起,尤其是在使用循环结构时。我不确定我是否应该使用 foreach ..无论如何代码如下。
此外,当我正在学习这种语言时,任何最佳实践都会很棒。谢谢你的帮助。
这是我正在寻找的流程:
- 读取目录
- 查找特定文件
- 使用文件名剥离一些关键信息,创建一个新处理的文件
- 处理输入文件
- 为每个读取的输入文件创建新处理的文件(如果我读入 10 个,我创建 10 个新文件)
第1部分:
第2部分: