У меня есть регулярное выражение сканирование файлов и потянув некоторые значения из них в трубопроводе:Как контактировать статью с конвейером?
ls . -Include *.cs -Recurse | Select-String "LoadJsModule" |
% { $_ -match 'LoadJsModule\("(\S+?)"'; } | ? { $_ } |
% { $matches[1] } | % { do-Something $_ }
который получает что-то вроде
admin invoices/app warehouses/app
Допустим, я заметил, что мой регулярное выражение трубопровод получает 90% вещи, которые я хочу, чтобы они хватались, но пропустили несколько особых случаев - строку «foo» и строку «bar». Как я могу добавить их надлежащим образом к трубопроводу, так он содержит
admin invoices/app warehouses/app foo bar
, прежде чем я разъехаться в do-Something
?
Обратите внимание, что я знаю, что могу работать выше и , затемdo-Something foo
и do-Something bar
. Существует несколько разных способов решения конкретной проблемы. Я смотрю конкретно, чтобы увеличить свое понимание конвейера PowerShell, поэтому я хотел бы знать, как смешать эти значения с ним напрямую.
'& {command1; 'Foo'; Command2; 'бар'; command3} | {% делать-то $ _}' – PetSerAl
@PetSerAl Я не уверен, я понимаю, как это согласуется с моим выше кодом ? Похоже, что он, вероятно, прав, но я просто не вижу его - можете ли вы опубликовать более расплывчатое решение в качестве ответа, и я соглашусь? –
Моей догадкой была бы строка 2 в вопросе. '% {$ _ -match 'LoadJsModule \ (" (\ S +?) "'; -and 'foo' -and 'bar'} |? {$ _} |% {$ matches [1]} ' Смотрите, если что помогает – user4317867