ターミナルから複数のファイルのテキストを見つけて置き換える方法

検索と置換 テキストは、を使用して簡単なタスクにすることができます テキストエディタ より基本的な。 しかし、同じタスクを実行する必要がある場合はどうなりますか 同時に複数のファイルで?

さて、物事はそこで複雑になります...またはそれほど多くはありません。


次の例では、sedを使用して、拡張子が.txtで、/ home / user / myfolder /フォルダーにあるすべてのファイルで、出現するすべての単語「mongo」を単語「aurelio」に置き換えます。

find / home / user / myfolder / -name * .txt -exec sed -i "s / mongo / aurelio / g" {} \;

とても簡単…

終了する前に、一部のテキストエディタでは、グラフィカルインターフェイスを使用してこの操作を実行できることを言及する価値があります。 とりわけ、Jedit、Geany、Regexxerなどを強調する価値があります。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   TSH

    素晴らしいです

  2.   懐疑的

    私はGeditを使用しています

    1.    ミロン

      複数のファイルのgedit ??? なので???

  3.   ロン

    どうすればaiの間にgrepを入れることができますか?

    私が必要としているのは、次のことを実行し、index.htmlと呼ばれ、「XXXXXXX」という単語を含むすべてのファイルをホーム内で検索し、「YYYYYYYYYY」に置き換えることです。実際に文字列を持っているファイル?

    どうもありがとうございます !

  4.   メルホル病院

    私もGeditを使っていますが、どうもありがとうございました

  5.   エンジェルガルシア

    execの引数がありません。 正しいコードは次のとおりです。
    find / home / user / myfolder / -name * .txt -exec sed -i "s / mongo / aurelio / g" {} \;

    ご挨拶😀

    1.    Linuxを使いましょう

      あなたが正しいです! ありがとうございました!
      私はすでにそれを修正しました。 :=)

  6.   ガルド

    私はこれを(ROOTとして)試しました:

    検索/ usr /共有/アイコン/ ACYL-Allgray / -name * .svg -exec sed -i "s / 666666/000000 / g" {} \;

    アイコンのセット全体の色を変更します。 真実は、それが非常に強力なコマンドであるということです。通常、このタスクはファイルごとに編集するのに何時間もかかりました。

  7.   エドムンド

    centos linuxでは、行数に応じて、いくつかのファイルにテキストを挿入します。私の場合は2行目(2i)です。

    find / home // public_html / res / -name -exec sed -i "2i \;" {} \;

    1.    エドムンド

      すべてのコードが出たわけではないので、再送信しました。

      find / home / user / public_html / res / -name filename.ext -exec sed -i "2i \挿入するテキスト" {} \;