ディレクトリにfiles.txtファイルのリストがあります。各ファイルでテキスト置換を実行したいと思います。
$f = (get-content files.txt)
Foreach ($i in $f) { perl -pi -we "s/(\d{0,4})- /$1 - /g" $i }
しかし、perlはバックアップを作成せずにこれを行うのは好きではありません。
バックアップなしでインプレース編集を行うことはできません。
そこで、.bakを-iに追加しました。
$f = (get-content files.txt)
Foreach ($i in $f) { perl -pi.bak -we "s/(\d{0,4})- /$1 - /g" $i }
そして今、それは不平を言います:
perlスクリプト".bak"を開くことができません:そのようなファイルまたはディレクトリはありません
私は何が欠けていますか?
アップデート:
私が好むのは、完全にシェルなしでこれを行う方法です。どういうわけか、perlでこのループを実行できます$^I
か?