这是我的代码:
$input_path = 'C:\powershell\capture.txt'
$output_file = 'C:\powershell\raw.txt'
$regex = "/(closed,\s\d+[.,\d.*]{0,})/"
select-string -Path $input_path -Pattern $regex -AllMatches | % { $_.Matches } | % { $_.Value } > $output_file
我想要做的是输出"关闭后的总行数,"我有上面的正则表达式,因为我在regex101.com上测试了这个,但输出文件什么都没有。这是我试图从中提取的文档:
[INFO] Agent 'Agent1' - started
[INFO] TextDatasource 'Datasource1' - opened
[INFO] TextDatasource 'Datasource1' - file opened: D:\python\domain_com.csv
[INFO] Get URL: http://www.domain.com/index.php?option=com_recsite_front&Itemid=75
[INFO] Init State - get URL: http://www.domain.com/index.php?option=com_recsite_front&Itemid=75
[INFO] Page1 - next page element is not found for pattern: 'Page Pattern2'
[INFO] TextDatasource 'Datasource1' - closed, 10,000 rows are stored
[INFO] Agent 'Agent1' - stopped
因此输出文本文件将包含:10,000
并且还将10,000存储在变量中供以后使用..即$ rowcount =
由于
答案 0 :(得分:0)
你去:
$rowcount=Select-String -Path .\in.txt -Pattern "closed,\s([\d,\.]+)" -AllMatches | % { $_.Matches } | % { $_.Groups[1].value}
echo $rowcount > $output_file
仅供参考:您的正则表达式中不需要/