windows - 将文本文件中的字符串提取到另一个文本文件中?在.bat中

标签 windows bash batch-file text-files

我有一个文本文件,其中包含目录中所有文件的名称,后跟文件的日期。

是否可以在批处理/bash 中根据字符串中的值从文本文件中提取这些文件名及其日期。

我已经查过了Extracting strings from text file 但这并没有回答我的查询。我还检查了许多其他人,包括 Get specific string from a text file using batch command并且似乎进入了死胡同,因为它没有从整个文本文件中获取所有行。

典型的字符串/文件名如下所示

5f367f72-9e2f-4f89-b3d6-2cdafed17d94_IRO_RMUSI_SONG_TimayaKingPerryy_KomKom.mxf_A1.MXF,25/07/2019 05:47:24

标识符是 IRO。我在文本文件中也有更多文件,但我希望它能够查看文本文件,找到具有标识符的所有内容,并制作一个包含 IRO 文件和日期的新文本文件。

大约有 150,000 +/- 行字符串,因此手动执行此操作并不容易。

如果可以在批处理文件中完成,我将不胜感激。

最佳答案

如果您考虑一下,这很容易。使用 findstr "_IRO_") 过滤您的文件,然后使用 for/f 循环将文件名与日期分开(根据您的示例,它们以逗号分隔) :

(for /f "delims=," %%a in ('type "names.txt" ^|findstr "_IRO_"') do @echo %%a) > "newnames.txt"

注意:要直接从命令行而不是在批处理文件中执行它,请将每个 %%a 替换为 %a

关于windows - 将文本文件中的字符串提取到另一个文本文件中?在.bat中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58183207/

相关文章:

macos - 如何将 bash 输出捕获到 Mac OS X 剪贴板?

bash - 使用sed时如何扩展变量?

batch-file - 批处理文件中的反向换行

c++ - 初始化 COM 对象的问题

windows - 是否存在用于禁用第 3 方应用程序中的弹出菜单项的 hack,例如 Visual Studio ?

windows - 如何在linux上应用windows SVN制作的diff?

java - 如何通过运行 jar/exe 文件在命令提示符下查看输出?

ruby - 如何使用 Ruby 从服务中获取 Windows 域中的用户名?

linux - 无法使用 Linux 中的文本编辑器删除前两个编码字符

windows - 在 Jenkins 中运行 bat 文件