我有一个大型数据库(50gb),我希望通过输入一行中包含的单词来搜索特定行。 这是我的命令:
type *.txt |find /i "word_to_find" >> C:output_location.txt
但是需要花费很多时间,强调我的SSD和CPU。使用PowerShell有没有更有效的方法呢?
答案 0 :(得分:0)
我建议你改用JScript,加载和运行速度比PowerShell快得多:
@if (@CodeSection == @Batch) @then
@echo off
type *.txt 2>nul | cscript //nologo //E:JScript "%~F0" >> C:output_location.txt
goto :EOF
rem End Batch section and start JScript one:
@end
var fileContents = WScript.StdIn.ReadAll(),
search = /.*word_to_find.*/gi, match;
while ( match = search.exec(fileContents) ) {
WScript.Stdout.WriteLine(match[0]);
}