フォルダとすべてのサブフォルダ内のすべてのファイルからサブ文字列を検索し、別の文字列に置き換えます。

フォルダとすべてのサブフォルダ内のすべてのファイルからサブ文字列を検索し、別の文字列に置き換えます。

いくつかの質問があることを知っていますが、私の質問は具体的です。

サブストリング:をフォルダとそのサブフォルダ内のすべてのHTMLファイルlocalhost:8000/に置き換えたいです。https://www.begueradj.com/

この場合、私///問題が発生しました。

どのようなヒントがありますか?

編集する:

もっと頑張りたい私の試みは次のとおりです。ここ

しかし、どの他の効果的な方法を歓迎します。

答え1

これには(少なくとも)改善が必要な2つのことがあります。

  • 別のコマンドで生成されたファイル名のリストを使用すると、ファイル名にスペース文字が含まれているか、悪い場合はややfor興味深い方法で中断される傾向があります。
  • あなたが使用している引用はsed奇妙です。

努力する

find . -name '*.html' -print0 | 
    xargs -0 sed -i 's|localhost:8000|https://www.begueradj.com/|'

オプションは、渡されたすべての名前がNULで終了することを確認-print0します。findxargs

関連情報