ファイルのUnixパスを置き換える

ファイルのUnixパスを置き換える

WordPressデータベース用のSQLファイルがあります。別のドキュメントルートを使用している別のサーバーに移動しようとしています。

前のドキュメントのルートは次のとおりです。/home/saeid/public_html

新しい文書のルートは次のとおりです。 /home/saeid/www/domain.com/html

前のパスのすべてのエントリを新しいパスに置き換えたいです。

fooをbarに置き換える例を見たことがありますが... "/"文字を含むパスを変更したいので...正常に動作するかどうかはわかりません。sed -i -e 's/foo/bar/g' filename

答え1

別の区切り記号を使用してください。

sed -i 's|foo|bar|g' filename

したがって、あなたの場合は次のようになります。

sed -i 's|/home/saeid/public_html|/home/saeid/www/domain.com/html|g' file

これはinfo sed:

s(交換)コマンドの構文は「s/regexp/replacement/flags」です。 /文字は、与えられたsコマンドで他の単一文字に均一に置き換えることができます。数値(または代わりに別の文字を使用してください)前に\文字がある場合にのみ、正規表現または置換に現れることがあります。

関連情報