web-dev-qa-db-ja.com

PowerShellのパイプで-replaceを使用する

置換を使用する前にテストしたいので、簡単なオンラインコマンドを作成して出力を確認します。ただし、構文が何かはわかりません。私がやりたいのは

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

このための正しいPowerShell構文は何ですか?

私もできることを知っています$a = cat fileし、次に$a、でもこれを1行にまとめたい

これでうまくいくはずです。ファイルのすべての行を調べ、「a」を「b」に置き換えますが、後でファイルに保存する必要があります

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

Powershell -replace operator (正規表現で機能)を使用するには、次のようにします。

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

-replace演算子は正規表現マッチングを使用しますが、次の例では 。NET FrameworkのString.Replaceメソッド を使用するため、非正規表現テキストの検索と置換を使用します。

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