从文本文件中删除前两行

时间:2015-02-10 15:45:22

标签: batch-file cmd text-files

我需要从非常大量的txt文件中删除前两行(大约10.000)。我正在寻找一种方法来从命令行或通过另一个半自动程序。每个文件都不同,但它们都包含我需要摆脱的前两行的一些信息。

2 个答案:

答案 0 :(得分:3)

for %%a in (*.txt) do (
  more +2 <  "%%~fa" > 2linesskipped.txt
  move /y 2linesskipped.txt "%%~fa"
)

没有外部工具。

答案 1 :(得分:0)

我认为aguslr的答案在UNIX衍生系统上看起来不错,但我猜是因为你在Windows上的标签是“cmd”和“batch-file”。您可以在多个位置获取适用于Windows的sed,例如UnxUtils个端口,或通过CygwinGnuWin32获取最新版本。但是find是一个内置的Windows程序,它与UNIX衍生系统上的查找完全不同。因此,您可能希望在Windows中使用“for”命令替换答案的后半部分,如:

for /r %a in (*.txt) do sed -i '1,2d' %a

请注意,如果您从批处理文件中运行此操作,则需要使用%% a而不是%a。