标签: batch-file cmd text-files
我需要从非常大量的txt文件中删除前两行(大约10.000)。我正在寻找一种方法来从命令行或通过另一个半自动程序。每个文件都不同,但它们都包含我需要摆脱的前两行的一些信息。
答案 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个端口,或通过Cygwin或GnuWin32获取最新版本。但是find是一个内置的Windows程序,它与UNIX衍生系统上的查找完全不同。因此,您可能希望在Windows中使用“for”命令替换答案的后半部分,如:
sed
find
for /r %a in (*.txt) do sed -i '1,2d' %a
请注意,如果您从批处理文件中运行此操作,则需要使用%% a而不是%a。