【问题标题】:Greps return nothing on text files generated by Wine programsGreps 对 Wine 程序生成的文本文件不返回任何内容
【发布时间】:2020-07-28 04:37:02
【问题描述】:

我是一名使用 Mint 的 Windows 7 难民...但我仍在使用 Wine 下的 EAC(精确音频副本)来翻录我的 CD。我有数千个由 EAC 在 Windows 7 下生成的日志文件,现在其中一些是在 Linux 中生成的,但在 Wine 下。我想整理带有“有错误”的日志文件。 命令grep -wr errors * 不返回任何内容。现在,如果我使用 Gedit 和/或 Xed 将一个日志文件剪切并粘贴到文本文件中,相同的命令将输出该测试文件的结果,但仅输出那些。 很明显,Windows 起源是失败的罪魁祸首。问题是“是否有一个选项可以添加到命令中,以便它直接在 Windows 文件上运行,......而不经过像 DOS2Unix 或类似的转换过程?”

测试目录有两个 txt 文件,一个来自 EAC-Wine,另一个来自 linux 编辑器的“相同”文件。第一个文件被 grep 视为二进制文件,因此没有结果,第二个文件正常工作

【问题讨论】:

  • file your_file 的输出添加到您的问题中。
  • 这可能是 Windows/Linux 行尾差异。

标签: windows grep wine


【解决方案1】:

由于没有答案,我发布了这个,我同意,它不是“Linux 风格”,但仍然有效且有效。使用与上面相同的两个文件,我们再次尝试grep -wr errors *,结果只给出一个文件:Testlog.txt,应该同时给出。

所以,因为我在 EAC 中使用 Wine,所以我也可以尝试使用 Windows 风格的 Grep 程序。其中很多都不起作用,我们至少希望该程序处于 GPL 许可下。

一个可能的解决方案是使用

grepWin

A window style grep.

有了它,我们得到了一个很好的解决方案:这两个文件可能是我们遇到 grep 失败的原因,因为我们看到这两个文件虽然内容相同,但编码不同。

实际上我使用了该程序的便携式版本 grepWin-x64-2.0.2_portable.exe 如果程序第一次运行良好,第二次总是崩溃,如果你不注意删除文件,它将无法运行

grepwin.ini

当您关闭它时由程序本身生成(与程序在同一目录中)。没有什么完美的!

【讨论】:

    猜你喜欢
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多