現在のクライアントに CVS を使用するよう強制されており、リモート リポジトリのアドレスが変更されています。ローカル コードでリモート アドレスを変更する唯一の方法は、再帰的な検索と置換です。
ただし、sed コマンドでは動作するはずです:
find ./ -type f -exec sed -i "s/192.168.20.1/new.domain.com/" {} \;
すべてのファイルでエラーが発生します:
sed: 1: ".//file/path ...": invalid command code .
sed の一致/置換でピリオドをエスケープしようとしましたが、何も解決されません。
ベストアンサー1
OS X を使用している場合、これはおそらく sed コマンドとは関係ありません。 の OSX バージョンではsed
、-i
オプションは引数を期待するextension
ため、コマンドは実際にはextension
引数として解析され、ファイル パスはコマンド コードとして解釈されます。
引数を明示的に追加し-e
、''
引数として指定してみてください-i
:
find ./ -type f -exec sed -i '' -e "s/192.168.20.1/new.domain.com/" {} \;
見るこれ。