gpt4 book ai didi

python - 什么最适合字符串提取或模式匹配 regex/awk/emacs lisp?

转载 作者:太空宇宙 更新时间:2023-11-04 08:48:07 25 4
gpt4 key购买 nike

我假设要查找给定文件是否为媒体文件,不是通过扩展名,而是通过 header 信息。所以我用 emacs 打开了一些 .MOV 文件格式来观察可以做什么,里面有什么等等。在分析内容时,我发现一些字符串不仅在第一行(标题信息),而且也在最后几行。所以基本上我正在寻找的字符串在文件的开头和结尾处都有几行。

此外,手动查找特定字符串是不合适的,因此尽管自动化了该过程..

例如:这是第一行。

\00\00\00 ftypqt \00qt \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00wide\00\CF\E1mdat\00\00\00wide\00\00\00\00mdat\00\00\00\00\00\00\00\00\E0\00\00\00\00\FF\A6\00\00\00\00\00\00 \00\00\00\008\00\00\82X\00\00\00@\80\00\87\F4N\CD

最后一行是:

\F7\00\80\004\8D\00Z\A2\00\84p\00\9D\8F\00\B6\A5\00\CDt\00\DF\00\ED\8F\007\004\8C\00A\9D\00\00\00udta\00\00\00\00\00\00\00Wudta\00\00\00hinv7.6\00\00\00@hnti\00\00\008rtp sdp b=AS:265 b=TIAS:259 a=maxprate:31.000000 \00\00\00\00

所以我不得不逐行扫描整个文件以查找特定类型的字符串。但起初我必须知道我必须在文件的每一行中寻找的所有字符串是什么。所以我想扫描一些随机媒体文件并提取看起来像一个词的内容(在这些文件中,一个词两边都没有任何空格字符,但我正在寻找的是 a/A - z/Z 和 0-9) 给我。

将此作为我的场景,首先想到的是使用 regex。但我后来从SO意识到那个

awk can do paragraph-oriented operations.

然后我遇到了here这么说

Emacs Lisp is a good choice if you need sophisticated string or pattern matching capabilities.

所以,最后我想进入每个文件(扩展名为 flvmp3 的各种文件movavimp4mkv 等等)并寻找单词(看起来对我来说就像单词,说任何连续出现的至少3个字符及以上的英文字母表。例如,在上面提到的作为第一行/标题信息的 block 注释部分中,您可以看到ftypqt,它包含英文字母且连续超过 3 个字符)。然后将这些词写入不同的文件,这样我就可以打开该文件,只看到从每个文件的每一行中挑选出来的那些词。

任何人都可以使用 regex/awk/emacs lisp 或其他任何东西给出一些想法。如果我的英语不好,请原谅。

最佳答案

命令 filestrings 是您要执行的操作的良好的零阶近似。

如果 file 的输出通过了您的验收标准,则将 strings 的输出通过管道传输到文件

关于python - 什么最适合字符串提取或模式匹配 regex/awk/emacs lisp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38181762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com