(9つの回答)
6年前に閉鎖されました。
私はこの質問がおそらく以前に答えられたことを知っています。私はこれについてさまざまな場所で多くのスレッドを見てきましたが、答えは通常私にとって抽出するのが難しいです。 「sed」コマンドの使用例についてのヘルプを探しています。
ファイル「hello.txt」(プロンプトと同じディレクトリ内)を操作したいとします。 「少数」というフレーズが含まれている場合は、「asd」に変更する必要があります。コマンドはどのようになりますか?
承認された回答:
sed
s tream ed itor、|
を使用できるという点で (パイプ)標準ストリームを送信する (特にSTDINおよびSTDOUT)sed
を介して そしてそれらをプログラムでその場で変更し、Unix哲学の伝統の中で便利なツールにします。ただし、-i
を使用して、ファイルを直接編集することもできます 下記のパラメータ。
次のことを考慮してください :
sed -i -e 's/few/asd/g' hello.txt
s/
sに使用されます 見つかった式をfew
に置き換えます asd
を使用 :
少数、勇敢。
asd、勇敢な人。
/g
「グローバル」の略で、これをライン全体で行うことを意味します。 /g
を省略した場合 (s/few/asd/
を使用 、何があっても常に3つのスラッシュが必要です)およびfew
同じ行に2回表示され、最初のfew
のみが表示されます asd
に変更されます :
数人の男性、数人の女性、勇敢な人。
asdの男性、少数の女性、勇敢な人。
これは、行の先頭にある特殊文字を変更するなど、状況によっては便利です(たとえば、電子メールスレッドの前の資料を引用するために使用する大なり記号を水平タブに置き換え、引用された代数の不等式を行の後半に残すなど)。手つかずの状態)ですが、どこでも指定した例では few
交換する必要があります。/g
があることを確認してください 。
次の2つのオプション(フラグ)が1つの-ie
に結合されます :
-i
オプションはiを編集するために使用されます nファイルhello.txt
に配置します 。
-e
オプションはeを示します 実行するxpression/コマンド(この場合はs/
) 。
注:-i -e
を使用することが重要です 検索/置換します。 -ie
を実行する場合 、文字「e」が追加されたすべてのファイルのバックアップを作成します。