Используя командлет get-content с опцией -replace для замены вхождения в csv, не могу понять, как - PullRequest
1 голос
/ 19 июля 2011

Мне нужно удалить все вхождения строки "|" Регулярное выражение, которое я придумала, это \ "\ | \", который прекрасно работает, как проверено на Rubular, однако, при попытке вставить это в мой сценарий powershell, похоже, не работает, есть идеи, почему? Или, скорее, как это исправить?

Сценарий:

(get-content "file") -replace \"\|\", "|" | out-file "file"

-Спасибо

Ответы [ 2 ]

3 голосов
/ 19 июля 2011

Вам нужно экранировать трубу в регулярном выражении, но не в двойных кавычках. Чтобы включить их в регулярное выражение, выделите одно выражение в целое регулярное выражение. Если вы просто хотите удалить их, не указывайте замещающую строку.

(get-content "file") -replace '"\|"'  | out-file "file" 
0 голосов
/ 19 июля 2011

вы не инкапсулировали первую строку (заменяемую):

(get-content Readme.txt) -replace '"\|"', "|" | out-file out.txt

Я использовал «чтобы избежать побега»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...