Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Text 如何有效地删除文本文件中一行的前几个字符?_Text_Batch File_Formatting_Command - Fatal编程技术网

Text 如何有效地删除文本文件中一行的前几个字符?

Text 如何有效地删除文本文件中一行的前几个字符?,text,batch-file,formatting,command,Text,Batch File,Formatting,Command,文本文件(abc.txt)中的两行示例: 我希望每一行都以日期开始,而不是csv文件名。意味着删除每一行的PMIP……csv:。如何使用批处理文件执行此操作?我有数百行,我不希望手动操作。我的文件名是abc.txt,它位于D:\Int\KGXperl-npi-e的/[^:::+://'/tmp/abc.txt 03/12/2012,22:51:53,CAU TACS,TS,PPT4I_TS22, AJAY,595959,P,Legal Exit,(6 0) AJAY,G1234567M,SE

文本文件(abc.txt)中的两行示例:


我希望每一行都以日期开始,而不是csv文件名。意味着删除每一行的PMIP……csv:。如何使用批处理文件执行此操作?我有数百行,我不希望手动操作。我的文件名是abc.txt,它位于D:\Int\KGX

perl-npi-e的/[^:::+://'/tmp/abc.txt

03/12/2012,22:51:53,CAU TACS,TS,PPT4I_TS22,   AJAY,595959,P,Legal Exit,(6 0) AJAY,G1234567M,SERVICES P L,8401352W,  
12/11/2012,23:20:13,CAU TACS,TS,PPT4O_TS32,ARUMUGAM,620466,P,Legal Exit,(5 0) ARUMUGAM,G686W,SUPERSONIC SERVICES P L,1982W,  

从你的数据。希望这有助于…

perl-npi-e的/[^::+://'/tmp/abc.txt产生:

03/12/2012,22:51:53,CAU TACS,TS,PPT4I_TS22,   AJAY,595959,P,Legal Exit,(6 0) AJAY,G1234567M,SERVICES P L,8401352W,  
12/11/2012,23:20:13,CAU TACS,TS,PPT4O_TS32,ARUMUGAM,620466,P,Legal Exit,(5 0) ARUMUGAM,G686W,SUPERSONIC SERVICES P L,1982W,  

从你的数据。希望这对……有帮助。

我可以告诉你我对这个问题的看法

我们可以用C++或java来解决这个问题

  • 打开文件
  • 在循环中,我们得到字符串变量中的行
  • 使用子字符串(或某种类似的函数或实用程序)指定第一个索引号(在我们的例子23中)
  • 将子字符串存储在新文件中
  • 完成循环

  • 新文件正是您想要的,希望对您有所帮助。我可以给您一些关于这个问题的想法

    我们可以用C++或java来解决这个问题

  • 打开文件
  • 在循环中,我们得到字符串变量中的行
  • 使用子字符串(或某种类似的函数或实用程序)指定第一个索引号(在我们的例子23中)
  • 将子字符串存储在新文件中
  • 完成循环

  • 新文件正是您想要的,希望它能帮助此批处理文件做到这一点:

    @echo off
    cd /D "D:\Int\KGX"
    (for /F "tokens=1* delims=:" %%a in (abc.txt) do (
       echo %%b
    )) > abc-NEW.txt
    

    此批处理文件可执行以下操作:

    @echo off
    cd /D "D:\Int\KGX"
    (for /F "tokens=1* delims=:" %%a in (abc.txt) do (
       echo %%b
    )) > abc-NEW.txt
    
    这应该可以

    setlocal enabledelayedexpansion
    for /f "tokens=1,* delims=:" %%a in (abc.txt) do (
    echo !date!:%%b >>new.txt
    )
    del abc.txt /f /q
    ren new.txt abc.txt
    
    这应该可以

    setlocal enabledelayedexpansion
    for /f "tokens=1,* delims=:" %%a in (abc.txt) do (
    echo !date!:%%b >>new.txt
    )
    del abc.txt /f /q
    ren new.txt abc.txt
    

    因此,我只是将perl-npi-e的/[^::::+://'/tmp/abc.txt-yields:放入一个文本文件,并将其保存为批处理并运行。我以前见过这种命令。它以内联方式替换它,所以您只需从命令行运行它,假设您正在使用Unixso,我只需将perl-npi-e的/[^:]+://'/tmp/abc.txt yields:放入一个文本文件,并将其保存为批处理并运行。我以前见过这种命令。它以内联方式替换它,所以您只需从命令行运行它,假设您正在使用UnixThanks,如果这个com中有VS或任何SDK,我早就这么做了,太糟糕了,这是一个没有此类程序的恐龙,我在批处理cmds方面非常弱。无论如何谢谢,如果这个com中有VS或任何SDK,我早就这么做了,太糟糕了,这是一个没有这样程序的恐龙,我在批处理cmds方面非常弱。谢谢anyway@10e5x:Ops,缺少一个括号!请再次复制批处理文件并进行测试。@10e5x:Ops,缺少一个括号!请重新复制批处理文件并进行测试。