DOS改行シーケンスを考慮しながら、ファイル内の文字列の発生回数を変更します。

DOS改行シーケンスを考慮しながら、ファイル内の文字列の発生回数を変更します。

私はC#の開発にはVisual Studioを使用し、スクリプトを必要とする一部のタスクにはCygwinを使用します。最近、プロジェクトファイルからすべての文字列をAAABBB私は古くて信頼できるラインシーケンスから始めましたが、sed残念ながらDOSの新しいラインシーケンスがUnixラインシーケンスに変わりました。

これが私が使用するものです:

sed -i 's/AAA/BBB/g' $(grep -rl AAA /cygdrive/c/project_path)

sed私が望む機能を実行するスイッチがないようです。私に役立つ他のUnixツールはありますか?

編集:C#ファイルの間にUnix改行文字を持つ別のスクリプトがあります。このツールをDOSバージョンに変更しないことをお勧めします。 :)

ベストアンサー1

VSには組み込み関数が必要です。

そうでない場合は、以前のバージョンを使用できますvi

vi +'bufdo %s/AAA/BBB/g | update' +q $(grep -rl AAA /cygdrive/c/project_path)

おすすめ記事