在PowerShell中使用以下Select-String
命令:
Select-String -Path E:\Documents\combined0.txt -Pattern "GET /ccsetup\.exe" -AllMatches > E:\Documents\combined3.txt
创建一个输出文件,每行以路径和文件名开头,后跟冒号。例如:
E:\Documents\combined0.txt:255:255.255.255 - - [31/Dec/2014:04:15:16 -0800] "GET /ccsetup.exe HTTP/1.1" 301 451 "-" "Mozilla/5.0 (compatible; SearchmetricsBot; http://www.xxxx.com/en/xxxx-bot/)"
如何在结果中删除输出文件路径名,输出文件名和冒号?
答案 0 :(得分:15)
Select-String
输出一个对象,您可以从中选择所需的属性。 Get-Member
命令将显示这些对象成员,如果你输入它,例如:
Select-String -Path E:\Documents\combined0.txt -Pattern "GET /ccsetup\.exe" -AllMatches |
Get-Member
其中一个属性是Line
。所以试试这样:
Select-String -Path E:\Documents\combined0.txt -Pattern "GET /ccsetup\.exe" -AllMatches |
Foreach {$_.Line} > E:\Documents\combined3.txt
答案 1 :(得分:4)
像往常一样,powershell将对象作为对象返回,默认情况下,select-string返回几个属性,包括LineNumber,Filename等;你想要的数据就是“Line”。所以不需要任何花哨的东西,只需将它管道输入“选择线”。
例如:
Select-String "bla" filename.txt | select line
或者在你的例子中:
Select-String -Path E:\Documents\combined0.txt -Pattern "GET /ccsetup\.exe" -AllMatches | select line | out-file E:\Documents\combined3.txt
答案 2 :(得分:1)
如果你正在寻找(子)字符串而不是模式,那么使用UIImage *portraitImage = [UIImage imageNamed:@"test_bar_portrait.png"];
UIImage *landscapeImage = [UIImage imageNamed:@"test_bar_landscape.png"];
[[UINavigationBar appearance] setBackgroundImage:portraitImage forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setBackgroundImage:landscapeImage forBarMetrics:UIBarMetricsLandscapePhone];
self.navigationController.navigationBar.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;
运算符可能是一种更好的方法,性能方面和易用性。
-like
如果您确实需要模式匹配,则可以使用$searchString = 'GET /ccsetup.exe'
Get-Content 'E:\Documents\combined0.txt' |
? { $_ -like "*$searchString*" } |
Set-Content 'E:\Documents\combined3.txt'
运算符轻松替换-like
运算符:
-match
答案 3 :(得分:0)
Get-Content E:\Documents\combined0.txt | Select-String -Pattern "GET /ccsetup\.exe" -AllMatches
答案 4 :(得分:0)
any
答案 5 :(得分:0)
我发现了这一点,并希望有一种更简单的方法来过滤出确切的文本。我在“选择字符串-Path C:\ Temp \ AccountLockoutPolicy.Txt -Pattern'ResetLockoutCount ='”的末尾使用了“ | select-object -ExpandProperty Line”,它删除了路径和行号。我喜欢简单!