Select-String 帮助信息

 
如下说明是翻译 : help Select-String 产生的帮助信息 .
译者 : Edengundam( 马涛 )
 
Select-String
 
大纲
选择匹配模式的子字符串 .
 
语法
Select-String [-pattern] <string[]> -inputObject <psobject> [-include <string[]>] [-exclude <string[]>] [-simpleMatch] [-caseSensitive] [-quiet] [-list] [<CommonParameters>]
 
Select-String [-pattern] <string[]> [-path] <string[]> [-include <string[]>] [-exclude <string[]>] [-simpleMatch] [-caseSensitive] [-quiet] [-list] [<CommonParameters>]
 
详细描述
选择匹配模式的子字符串 . 默认情况下 , Select-String 将参数 Pattern 的值作为正则表达式 , 并应用于输入 . 要学习更多 Windows PowerShell 中的正则表达式 , 请键入 get-help about_regular_expression. 你可以通过使用参数 SimpleMatch 来禁止正则表达式匹配 . 简单匹配 (SimpleMatch) 在输入中进行子字符串检索 , 子字符串来自参数 Pattern.
 
此命令对搜索文件中的字符串进行了简化 . 包含了支持通配符的参数 Path, 当此参数指定时 , 涉及的文件内容将会根据参数 Pattern 的只进行匹配 .
 
默认情况下 , 此命令的输出是 MatchInfo 对象 , 该对象包含了匹配的详细信息 . 当输入来自文件时这些信息更加重要 . 对象包含了像文件名 (Filename) 和行号 (Line) 的属性信息 , 当输入不是来自文件时 , 此值为 'InputStream'. 你可以指定参数 Quiet 来禁止 MatchInfo 对象的产生 . 这种情况下 , 命令的输出结果为布尔类型 , 当匹配成功时 , 返回 True, 否则返回 False.
 
当对文件进行匹配时 , 你可以指定参数 List 使命令在处理每个文件时当遇到第一匹配后立即停止 . 如果你只需要一个匹配即可 , 那么你应该使用这个参数 , 因为这将会提高此命令的速度 .
 
参数
 
-pattern <string[]>
指定字符串货正则表达式作为匹配的标准 . 要学习更多 Windows PowerShell 中的正则表达式 , 请在 Windows PowerShell 命令提示符中键入 get-help about_regular_expression.
 
强制参数 ?
true
参数位置 ?
1
默认值
Null
允许从管道绑定输入 ?
false
允许通配符扩展 ?
true
 
-path <string[]>
指定匹配文件的路径 , 允许使用通配符 .
 
强制参数 ?
true
参数位置 ?
2
默认值
null
允许从管道绑定输入 ?
true ( 根据属性名 )
允许通配符扩展 ?
true
 
-include <string[]>
只包含指定的项目 . 此参数值用于限定 Path 参数 . 输入一个路径元素或模式 , 例如 "*.txt" ( 此参数允许通配符 ) .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
true
 
-exclude <string[]>
排除指定的项目 . 此参数值用于限定 Path 参数 . 输入一个路径元素或模式 , 例如 "*.txt" ( 此参数允许通配符 ) .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
true
 
-simpleMatch <SwitchParameter>
指定进行简单匹配 , 而不是正则表达式匹配 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-caseSensitive <SwitchParameter>
匹配时区分大小写 . 默认情况下匹配时不区分大小写 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-quiet <SwitchParameter>
抑制命令的大部分输出 . 当指定此参数时 , 只有一个布尔值将会沿着管道被传送 . 如果匹配成功返回 True, 否则返回 False.
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-list <SwitchParameter>
指定每个输入文件只返回一个匹配 . 返回的 MatchInfo 对象只包含第一次匹配的信息 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-inputObject <psobject>
为命令指定输入的对象 . 输入一个包含对象的变量 , 或者一个能够产生对象的命令或表达式 .
 
强制参数 ?
true
参数位置 ?
named
默认值
AutomationNull.Value
允许从管道绑定输入 ?
true ( 根据值 )
允许通配符扩展 ?
false
  
< 公共参数 >
此命令支持公共参数 : -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. 更多信息 , 输入 , "get-help about_commonparameters".
 
输入类型
对象或文件 .
 
返回类型
如果指定参数 Quiet 将会返回布尔类型来提示匹配是否成功 .
 
否则 , 输出将会是零个或多个 MatchInfo 对象 , 每个对象包含如下属性 :
 
·          忽略大小写 (IgnoreCase): 布尔类型
·          行号 (LineNumber): 整型 (0 表示输入不是文件 )
·          匹配行 (Line): 字符串
·          文件名 (FileName): 字符串 ("InputStream" 表示输入不是文件 )
·          路径 (Path): 字符串 ("InputStream" 表示输入不是文件 )
·          模式 (Pattern): 实际匹配的字符串
·          原始对象 (OriginalObject): 处理的对象
 
注意
 
Select-String 很像 Unix 工具 'grep' 以及 Windows 工具 'findstr'.
 
Select-String 使用当前线程的区域性设置进行匹配 . 你可以使用 Get-Culture cmdlet 来确定当前的区域性设置 .
 
要查看 MatchInfo 对象的全部属性 , 键入 : select-string -path test.txt -pattern "test" | get-member | format-list -property *.
 
1
 
C:/PS>"Hello","HELLO" | select-string -pattern "HELLO" -casesensitive
 
此命令对于输入 "Hello" "HELLO", 使用模式 "HELLO" 执行大小写敏感匹配 .
 
HELLO
 
2
 
C:/PS>select-string -path *.xml -pattern "the the"
 
此命令搜索当前目录中包含 .xml 扩展名的全部文件 , 并显示包含 "the the" 的行 .
 
3
 
C:/PS>$events = get-eventlog -logname application -newest 100
$events | select-string -inputobject {$_.message} -pattern "failed"
 
此命令从应用事件日志中取得最后 100 , 并存储到变量 $events . 然后将通过对象传递给 Select-String 并为参数 InputObject 指定了求值的脚本块 . 脚本块同使用 $_ 访问每个管道中的对象并从 EventLogEntry 对象上获取 message 属性 . 属性 message 包含的字符串作为输入传递给 Select-String, 用字符串 "failed" 进行匹配 . 任何匹配的信息将被输出到控制台上 .
 
4
 
C:/PS>get-childitem c:/windows/system32/* -include *.txt -recurse |
select-string -pattern "Microsoft" -casesensitive
 
此命令检查位于目录 C:/Windows/System32 及其子目录中 , 所有扩展名为 .txt 的文件的 "Microsoft" 字符串 . 参数 CaseSensitive 指出 'Microsoft' 'M' 必须是大写 , 并且其余字符必须是小写才能够被匹配 .
 
相关链接
about_comparison_operators
about_regular_expression
 
 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值