Board logo

标题: [问题求助] PowerShell怎样更快搜索? [打印本页]

作者: 娜美    时间: 2024-4-16 13:46     标题: PowerShell怎样更快搜索?

本帖最后由 娜美 于 2024-4-16 16:04 编辑
  1. #@&cls&powershell "type %~s0|out-string|iex"&pause
  2. Get-ChildItem -Recurse *.txt | Select-String  "^$myphone$"|"^$happywitch$"|"^$hello$" | Out-File out.txt
复制代码
想快速通过搜索当到目录及所有子目录在那些文本中是否存在这些行, 但每次需要连续编辑好几个感觉有些麻烦, 想将这些行全部写进一个b.txt文本中去进行搜索

尝试这样似乎不行,  请问如何写才正确, 如何才能更块谢谢
  1. #@&cls&powershell "type %~s0|out-string|iex"&pause
  2. $file = ' D:\b.txt
  3. Get-ChildItem -Recurse *.txt | Select-String  '$file' | Out-File out.txt
复制代码

作者: Five66    时间: 2024-4-16 17:26

不要用英文单引号将变量引起来
不行就试试get-content 'D:\b.txt'
作者: 娜美    时间: 2024-4-16 18:38

回复 2# Five66


   试过不行
作者: terse    时间: 2024-4-16 19:28

直接放数组里试
作者: aloha20200628    时间: 2024-4-17 10:56

本帖最后由 aloha20200628 于 2024-4-17 11:00 编辑

回复 1# 娜美

其实在命令行跑一个findstr即可拿下楼主所求
  1. findstr /simg:b.lst *.txt
复制代码
用b.lst中的每行关键词搜索当前目录及其子目录中的所有*.txt,将其中包含关键词的每个*.txt文件名列表显示...
或者将输出结果写入out.lst
  1. findstr /simg:b.lst *.txt>out.lst
复制代码

作者: 娜美    时间: 2024-4-17 13:08

回复 5# aloha20200628


我原来就是用的 findstr  /SNXG:b.tmp *.txt >out.txt但发现它不支持unix格式文本和utf16编码,  所以才想改用powershell的
作者: 娜美    时间: 2024-4-17 13:27

本帖最后由 娜美 于 2024-4-17 15:32 编辑

回复 2# Five66


   

$file = get-content  'b.tmp'
Get-ChildItem -Recurse *.txt | Select-String "^$file$" | Out-File out.txt


b文件只能读一行,  多几行就不行了
作者: Five66    时间: 2024-4-17 16:54

回复 7# 娜美


    在b.tmp这个文件里改啦 , 例如
(b.tmp不能有空行 ,不能有空行 ,不能有空行 ,不能有空行)
  1. ^myphone$
  2. ^happywitch$
  3. ^hello$
  4. qwer
复制代码
像这种过管道挺坑的 , 建议还是直接来吧 , 比如
  1. Move-Item -Force out.txt out.put
  2. Select-String -LiteralPath ((gci -Recurse *.txt).fullname) -Pattern (gc -LiteralPath 'b.tmp') |Out-File out.put
  3. Move-Item -Force out.put out.txt
复制代码

作者: 娜美    时间: 2024-4-17 17:14

本帖最后由 娜美 于 2024-4-17 17:16 编辑

回复 8# Five66


   哦哦谢谢大哥哥,  这个好像挺快的是模糊匹配字段,  是要完整匹配行
作者: Five66    时间: 2024-4-17 18:05

回复 9# 娜美


额 , 每一行就是一个正则表达式 , 想要完整匹配行就
在每一行的开头加上^
在每一行末尾加上$
还有注意特殊字符
作者: 娜美    时间: 2024-4-17 19:51

本帖最后由 娜美 于 2024-4-18 13:16 编辑

那还有没有办法做到完整匹配,  和支持尽可能多特殊字符
作者: 娜美    时间: 2024-4-18 20:45

回复 8# Five66


   大哥哥  使用中发现比我那个更慢
作者: Five66    时间: 2024-4-19 16:52

回复 12# 娜美


递归列举+全文搜索+多个搜索项 , 能有多快?
只能说是这样的




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2