关闭

Select-String 帮助信息

1985人阅读 评论(0) 收藏 举报
 
如下说明是翻译: 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
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:434516次
    • 积分:6999
    • 等级:
    • 排名:第3237名
    • 原创:110篇
    • 转载:10篇
    • 译文:138篇
    • 评论:87条
    最新评论