Використовуючи -замінити на трубах в оболонці


12

Я хочу перевірити заміну, перш ніж використовувати її, тому я намагаюся написати швидку команду в Інтернеті, щоб побачити, що таке вихід. Однак я не впевнений, що таке синтаксис. Я хочу зробити щось подібне

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

Який для цього правильний синтаксис силових оболонок?

Я знаю, що я також можу робити, $a = cat fileа потім робити заміну $a, але я хотів би тримати це в одній лінії

Відповіді:


16

Це повинно зробити трюк, воно пройде через усі рядки у файлі та замінить будь-яке "а" на "b", але після цього вам потрібно буде зберегти його назад у файл

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

4

Щоб скористатись оператором Powershell -replace (який працює з регулярними виразами), зробіть це:

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

зауважте, що оператор -replace використовує відповідність регулярних виразів, тоді як у наступному прикладі буде використано нерегекс -пошук тексту та заміну, оскільки він використовує метод String.Replace в .NET Framework

cat file | % {$_.replace("abc","def")} # string.Replace uses text matching
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.