В PowerShell вы бы сделали
(Get-Content hosts) -notmatch $pattern | Out-File hosts.new
или
(cat hosts) -notmatch $pattern > hosts.new
для краткости.
Конечно, поскольку Out-File
(и вместе с ним оператор перенаправления) по умолчанию используют формат Unicode, вы можете использовать Set-Content
вместо Out-File
:
(Get-Content hosts) -notmatch $pattern | Set-Content hosts.new
или
(gc hosts) -notmatch $pattern | sc hosts.new
И поскольку входной файл читается в выражении группировки (круглые скобки вокруг Get-Content hosts
), вы можете записать вывод обратно в исходный файл:
(Get-Content hosts) -notmatch $pattern | Set-Content hosts