У меня есть файл CSV, содержащий информацию об адресе, в которой иногда могут быть разрывы строк в поле. Это приводит к тому, что наше программное обеспечение видит это как две отдельные строки с неверными даннымиМоя конечная цель - создать однострочную команду Powershell, которую можно запустить из терминала, чтобы исправить это, однако я не могу на всю жизнь заставить "-replace" работать корректно при вводе групп захвата в уравнение.
Вот файл данных с окончаниями строк, которые могут быть записаны с помощью "\ r \ n":
"name1","address1","city1","state1","zip1"
"name2","address2
2ndline2","city2","state2","zip2"
Вот что у меня есть (не в однострочной строке cmdпока формат):
((get-content "$local\$file" -raw) -replace '(?sm),"[^"]*(?<line>\r\n)[^"]*",', '''${line}<replace>''') `
-replace "<replace>","" | Set-Content "$local\test2.txt"
Я столкнулся с проблемами, выясняя, как заменить группу захвата ничем, поэтому я пытаюсь заменить ее другой строкой, которую затем легко удалить. Когда я запускаю приведенную выше команду, она заменяет все совпадение, а не только группу захвата. Я создал эту строку кода на основе другого предложения здесь: https://stackoverflow.com/a/29973460/6477292