删除文件中的前n行(带有许多“奇怪”符号的.zip文件)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除文件中的前n行(带有许多“奇怪”符号的.zip文件)相关的知识,希望对你有一定的参考价值。

此powershell代码删除文件中的前4行

(gc "old.zip" | select -Skip 4) | sc "new.zip"

old.zip文件有Unix(LF)行结尾

此代码还将文件行结尾转换为Windows(CR LF)

如何在不转换的情况下删除前4行?

由于.zip中存在许多“奇怪”符号,因此删除.zip文件中前n行的其他方法不起作用。例如,more than +4 "old.zip"> "new.zip"中的cmd不起作用等。

通过powershell这样的东西被删除但也没有问题。

你知道吗?删除.zip文件中前n行的其他方法?

答案

这样的事情?

$PathZipFile="c:	empFile_1.zip"
$NewPathZipFile="c:	empNewFile_1.zip"

#create temporary directory name
$TemporyDir=[System.IO.Path]::Combine("c:	emp", [System.IO.Path]::GetRandomFileName())

#extract archive into temporary directory
Expand-Archive "c:	empFile_1.zip" -DestinationPath $TemporyDir

#loop file for remove 4 first lines for every files and compress in new archive
Get-ChildItem $TemporyDir -file | %{

    (Get-Content $_.FullName | select -Skip 4) | Set-Content -Path $_.FullName;
    Compress-Archive $_.FullName $NewPathZipFile -Update

}

Remove-Item  $TemporyDir -Recurse -Force
另一答案

电源外壳:

(gc "old.txt" | select -Skip 4 | Out-String) -replace "`r`n", "`n" | Out-File "new.txt"

C#:

File.WriteAllText("new.txt", string.Join("
", File.ReadLines("old.txt").Skip(4)));

以上是关于删除文件中的前n行(带有许多“奇怪”符号的.zip文件)的主要内容,如果未能解决你的问题,请参考以下文章

linux删除大文件的前n行

如何使用 shell(awk、sed 等)删除文件中的前两列

如何跳过sql查询中的前n行

使用 NSFetchedResultsController 时出现奇怪的删除行为

删除 zip 存档中“早于”的文件

打印 CSV 的前 N ​​行,其中引用的字段可以包含换行符