vim を使用していくつかの .scc ファイルをバッチ修正しようとしており、それに置換文字列を渡す必要があります。
vim -E
この行を渡すために使用しようとしています":s/\r/\r/g"
引用符内に個々の文字を変数として埋め込んでみましたが、\r
めちゃくちゃです。
アドバイスをいただければ幸いです。
一度限りの変更のようには聞こえないので、本当にやりたいことを推測してください。以下は、すべての s を削除します\r
。
インプレース編集を行うことに注意 してください-リダイレクトなどの必要はありません.
perl -i.bak -p -e 's/\r+//g' filename(s)...
\r
単一のdoに置き換えたい場合
perl -i.bak -p -e 's/\r+/\r/g' filename(s)...
Perl はバックアップを保持しますが、そうする必要があります。
使用していませんが、おそらく使用しvim
たくないはずです。
\n
Vim では、検索部分と\r
置換部分で使用する必要があります。しかし、に置き換えることは、私に何もしないよう\n
に聞こえます。\r
いずれにせよ、代替のためだけに Vim を起動するのは、おそらく少し多すぎるでしょう。使用できますsed
:
$ sed -i.orig 's/foo/bar/' foo.txt
詳細については、こちらをお読み$ man sed
ください。
とった。':s/\\r/\\r/g'
適切なレベルの引用が必要でした。先ほど触れた問題は、Mac で作成されたと思われる PC の二重改行を含むファイルが取得され、PC では正しく読み取れないことです。
そのため、sed を s/\r/\r\n/g に使用しても、何らかの理由で実際には機能していませんでした。しかし、これらをvimに渡すと役立つと思います。vim を使用して :set format=dos をファイルに送信する必要があります。
皆さんありがとう。