我有几个包含大约50k行的文件。我需要将它们分成每个1k行的较小文件。在Windows平台上执行此操作的最佳方法是什么?。
非常感谢任何投入。
谢谢, 帕。
答案 0 :(得分:0)
创建一个powershell文件并使用.ps1
扩展名保存,并添加以下powershell代码。
$Input = "LARGEFILE.txt"
$outName = "smallerfile"
$extension = "txt"
$Max = 10kb
$inputFile = [io.file]::OpenRead($Input)
$buffers = new-object byte[] $Max
$count = $lump = 0
try {
do {
$count = $inputFile.Read($buffers, 0, $buffers.Length)
if ($count -gt 0) {
$to = "{0}.{1}.{2}" -f ($outName, $lump, $extension)
$toFile = [io.file]::OpenWrite($to)
try {
$tofile.Write($buffers, 0, $count)
} finally {
$tofile.Close()
}
}
$lump ++
} while ($count -gt 0)
}
finally {
$inputFile.Close()
}
您需要提供输入文件的完整路径和名称,即大文件。然后给出你想要的输出文件的唯一名称,它将为你存储每个的数字。您还可以调整输出文件的大小。因此,在这种情况下,它会从LARGEFILE.txt
创建10kb文件到smallerfile.1.txt
,smallerfile.2.txt
,smallerfile.3.txt
等。
PS !! 您可以通过cmd.exe
运行powershell .\scriptname.ps1
或使用脚本的完整路径替换.\
来运行class A
{
public:
void Show() {}
};
class B : public A
{
public:
void BMethod1() { Show(); }
};
TEST(BTEST, ShowMethod)
{
B bobj;
auto aobj = FAKE<A>();
bobj.BMethod1();
ASSERT_WAS_CALLED(aobj->Show());
}
中的文件。你也可以直接从powershell运行它。