8

Я хочу проверить замену перед тем, как ее использовать, поэтому я пытаюсь написать быструю оперативную команду, чтобы увидеть, что получится. Тем не менее, я не уверен, что синтаксис. Что я хочу сделать, это что-то вроде

cat file | -replace "a", "b"

Какой правильный синтаксис PowerShell для этого?

Я знаю, что я также могу сделать $a = cat file и затем заменить $a , но я хотел бы сохранить это в одной строке

2 ответа2

11

Это должно сработать, он пройдет по всем строкам в файле и заменит любые "a" на "b", но потом вам нужно будет сохранить это обратно в файл

cat file | % {$_.replace("a","b")} | out-file newfile
0

Чтобы использовать оператор Powershell -replace (который работает с регулярными выражениями), сделайте следующее:

cat file.txt | % {$_ -replace "\W", ""} # -replace operator uses regex

обратите внимание, что оператор -replace использует сопоставление с регулярным выражением, тогда как в следующем примере будет использоваться поиск и замена текста без регулярного выражения, так как он использует строку.Заменить метод .NET Framework

cat file | % {$_.replace("abc","def")} # string.Replace uses text matching

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .