2016-06-14 21 views
0

を使用してコード内のURLは、サイト全体の置き換え「のhttps:my.newurl.com」URLを置き換えるためにしようとSED

を私は何をしないのですか?

が試み:

find ./ -type f -exec sed -i 's/https:\/\/my.oldurl.com\/directory\//https:\/\/my.newurl.com//' {} \; 

はsedを返さ:-e式#1、CHAR 88:-e式#1、CHAR 85: `s'はsedの

sed -i 's#"https://my.oldurl.com/directory"#"https://mt.newurl.com"g' 

リターンに未知のオプション:終端されていない `s'のコマンド

答えて

3

あなたの最初のコマンド:

-type f -exec sed -i 's/https:\/\/my.oldurl.com\/directory\//https:\/\/my.newurl.com//' {} \; 

末尾の数字が間違っています/です。変更し、次のいずれか

-type f -exec sed -i 's/https:\/\/my.oldurl.com\/directory\//https:\/\/my.newurl.com\//' {} \; 

または:1を使用すると、置換文字列はところでhttps://my.newurl.comまたはhttps://my.newurl.com/

+0

になりたいかによって異なり

-type f -exec sed -i 's/https:\/\/my.oldurl.com\/directory\//https:\/\/my.newurl.com/' {} \; 

は、「追加する便利かもしれません(例: '-type f -exec sed -i 's/https:\/\/my.oldurl.com \/directory \ // https:\/\/my.newurl.com \ // g '{} \; ') ' sed'を実行すると、oldurlの最初の発生のみが変更されます。 –

+0

私はそれらの提案に幸運を持っていません。総初心者。私は "find。/ -type f"が正確に何をしているのか分かりません。 Webサーバー上の私のファイルは.ctpまたは.phpです。 @Smeeheeyの提案を入力すると、空白のプロンプトが返されました。 @Paul Zakharov提案を入力すると、sed:-e式#1、char 92: 's 'に未知のオプションが返される" – sloga

+0

コマンドが成功すると、空白のプロンプトが返されることが期待されます。 'sed -i'コマンドは、' find'コマンドによって与えられたリストを使って(パイプラインを通して)、ファイルを適所に修正します。すべてがうまくいけば目に見える出力は見えませんが、指定された文字列が見つかった場合はファイルが編集されています。ファイルを確認してください – Smeeheey