Я использую команду PowerShell, чтобы найти все * .vue файлов (это простой текстовый формат) в директории, где мне нужно, чтобы соответствовать этому:матча многострочных строки
7,Id 6,Default
Итак, это 2 последовательных линии. В Notepad ++ я вижу CRLF в конце строки. После поисков Google это должно быть близко:
Get-ChildItem "D:\Wim\TM1\TI processes" -Filter *.vue -Recurse |
Select-String -Pattern "7,Id\r\n6,Default" -CaseSensitive |
Out-File C:\test.txt
Но он не находит файлы. Я проверил, что я могу найти первую часть (7,Id
) правильно, а также вторую часть (6,Default
), но комбинация с новой линией не работает.
Любые идеи, пожалуйста? Может быть, альтернатива?
У меня может быть обходное решение, но оно неэффективно и много кодирования. Например, я могу использовать PowerShell, чтобы предоставить список только первого предложения, а затем обработать эти файлы, чтобы увидеть, соответствует ли оно второму предложению. Я хочу этого избежать.
Здравствуйте, Weird! Я собирался опубликовать, что второе предложение Ansgar Wiechers работает, но только один раз! Не уверен, что я понимаю, что происходит, но я получил результат 2 строк в файле C: \ test.txt, и с тех пор я больше не могу воспроизвести успех. Нет C: \ test.txt. Первое предложение Ansgar Wiechers и предложение jj27 не возвратили файл «C: \ test.txt» с самого начала. Еще раз спасибо! –
Проверьте трубопровод шаг за шагом. Включает ли 'Get-ChildItem' соответствующие файлы? Действительно ли они содержат строки, о которых идет речь? Соответствует ли 'Where-Object' что-то? Выводит ли 'ForEach-Object' соответствующие строки? Если вход не изменился, нет причин, по которым приведенные выше утверждения должны работать только один раз. –
Извинения, это был способ копирования/вставки самостоятельно. Когда я скопировал ваши решения из SO, я вставил и >> появился перед строками. Я вошел и ничего не произошло. Затем я понял, что нужно создать 1 длинное предложение и нажать Enter. Бинго! Оба решения работают, спасибо вам большое!Только один вопрос о последующих действиях: можем ли мы также иметь полное имя (путь и имя файла) в выходном текстовом файле, а не две соответствующие строки? Тогда это прекрасно. –