合并.txt中选定的文本行并删除不需要的行

时间:2015-10-05 19:53:08

标签: regex batch-file

我有一个大约27000个文本行的.txt,如下所示:

文件1的路径
    文件1的文件类型     文件1的文件扩展名     文件1的文件创建日期     文件1的文件修改日期    文件1的页数
    文件1的作者    文件2的路径
    文件2的文件类型 页面布局
    文件2的页数
    文件2的文件扩展名     文件2的文件创建日期     文件2的文件修改日期
    文件2的作者    文件3的路径

依旧约5000个文件...

请帮我找一个更简单的方法(如果可能的话,批处理)对行进行排序,使输出看起来像这样:

文件1的路径 文件1的页数
   文件2的路径 文件2的页数

因为目前我正在使用自动化软件来分析每条线,据我估计,完成这项工作需要20个小时。

1 个答案:

答案 0 :(得分:2)

下面的批处理文件:

@echo off
setlocal EnableDelayedExpansion

set "filepath="
for /F "delims=" %%a in ('findstr "Path Count" input.txt') do (
   if not defined filepath (
      set "filepath=%%a"
   ) else (
      echo !filepath! %%a
      set "filepath="
   )
)

...使用您在问题中提供的相同的示例数据运行,生成此输出:

Path to file 1 Page Count for file 1
Path to file 2 Page Count for file 2

... 您请求的完全相同的输出

在您发布类似于以下的评论之前:"此程序无法使用我的真实数据!",您应该意识到您已经 NOT 发布了您的真实数据,而我们没有一个允许我们猜测它的水晶球......

如果您需要精确答案,则应发布准确的问题!