1

В блоге http://blogs.msdn.com/b/zainnab/archive/2007/07/09/grep-and-sed-with-powershell.aspx я нашел замену sed, реализованную в виде скрипта PowerShell. Я не хочу зависеть от установки любого стороннего варианта sed. Поэтому я бы использовал решение по ссылке выше:

SED-ish

cat somefile.txt | %{$_ -replace "expression","replace"}

К сожалению, это не работает таким образом

powershell cat somefile.txt | %{$_ -replace "expression","replace"}

так как | интерпретируется cmd.exe. Как мне сделать этот красивый сценарий PowerShell для однострочника, используемого в командном файле?

2 ответа2

2

попробуй это :

powershell -Command "cat somefile.txt | %{$_ -replace 'expression','replace'}"
1

Выполнение команд PowerShell в пакетном скрипте

Вы можете использовать параметр -Command , например так:

powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "cat somefile.txt | %{$_ -replace 'expression\",\"replace\"}"

Примечание. В командной строке " необходимо экранировать с помощью \" (или заменить на '), а % необходимо экранировать с помощью %% .

дальнейшее чтение

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