/pattern1の最初のオカレンスをpattern2に置き換えます。sedを使ってすべての行を削除するsedを使ってすべての行を削除する方法を理解するようになりました。一度sedを呼び出します。lineを使用することになっています。'd'$パイプを介してファイルを送信してsedを呼び出すのではなく、次の例のようにsedにファイルからデータを読み取るよう指示することができます。次のコマンドは、catコマンドを使用しない前の例とまったく同じです。/etc/passwd$sedアドレスsedはアドレスもサポートしています。アドレスは、ファイル内の特定の場所、または特定の編集コマンドを適用する範囲です。sedはアドレスを検出しないと、ファイル内のすべての行に対して操作を実行します。次のコマンドは、使用しているsedコマンドに基本アドレスを追加します。editコマンドの前に1が追加されていることに注意してください。これはsedにファイルの最初の行で編集コマンドを実行するよう指示します。passwordの最初の行を削除し、残りのファイルを出力します。sedのアドレス範囲sedアドレス範囲を扱う方法を理解できるようになります。ファイルから複数の行を削除したいのであれば?次のようにsedを使用してアドレス範囲を指定することができます。|moregames:x:5:60:games:/usr/games:/bin/shman:x:6:12:man:/var/cache/man:/bin/shmail:x:8:8:mail:/var/mail:/bin/shnews:x:9:9:news:/var/spool/news:/bin/shbackup:x:34:34:backup:/var/backups:/bin/sh$上記のコマンドは、1から5までのすべての行に適用されます。これにより、最初の5行が削除されます。‘1〜3d’これにより、最初の行が削除され、次の3行が表示され、4行目が削除されます。Sedはファイルの最後までこのパターンを適用し続けます。‘4、d’これにより、構文エラーが生成されます。pアクションの使用中は、-nオプションを使用して行印刷の繰り返しを避ける必要があります。'1,3p'-nを指定しないで上記のコマンドを次のようにチェックします。'1,3p'置換コマンドsで示される置換コマンドは、指定した任意の文字列を、指定した他の文字列で置き換えます。ある文字列を別の文字列で置き換えるには、sedは最初の文字列の終わりと置換文字列の開始位置に関する情報を持つ必要があります。このため、2つの文字列をスラッシュ(/)文字で予約することに進みます。次のコマンドは、文字列rootの行にある最初のオカレンスを文字列amroodに置き換えます。user:/root:/bin/shdaemon:x:1:1:daemon:/usr/sbin:/bin/sh..........................sedは、行の最初のオカレンスだけを置換することに注意することが非常に重要です。文字列rootが1行に複数回出現する場合は、最初の一致のみが置換されます。sedがグローバル置換を実行するためには、次のようにコマンドの最後に文字gを追加します。user:/amrood:/bin/shdaemon:x:1:1:daemon:/usr/sbin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys:x:3:3:sys:/dev:/bin/sh...........................代替フラグgフラグに加えて他の有用なフラグもいくつか渡すことができ、一度に複数指定することができます。Mまたはm特別な正規表現文字^と$の通常の動作に加えて、このフラグは、改行の後に空の文字列と一致させ、改行の前に空の文字列と一致させるために$になります代替文字列セパレータの使用スラッシュ文字を含む文字列を置換する必要があるとします。この場合、sの後に指定された文字を指定することで、異なるセパレータを指定することができます。user:/amrood:/bin/shdaemon:x:1:1:daemon:/usr/sbin:/bin/sh上記の例では、使用している:として区切り文字の代わりに、スラッシュ/私たちは、検索しようとしていたので、/ルートの代わりに、簡単なルートを。passwdファイルからルート文字列を完全に削除するには、空の置換文字列を使用します。文字列shを10行目の文字列quietに置き換える場合は、次のように指定することができます。user:/root:/bin/shdaemon:x:1:1:daemon:/usr/sbin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys:x:3:3:sys:/dev:/bin/shsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games:/usr/games:/bin/shman:x:6:12:man:/var/cache/man:/bin/shmail:x:8:8:mail:/var/mail:/bin/shnews:x:9:9:news:/var/spool/news:/bin/shbackup:x:34:34:backup:/var/backups:/bin/quiet同様に、アドレス範囲の置換を行うには、次のようなことができます。user:/root:/bin/quietdaemon:x:1:1:daemon:/usr/sbin:/bin/quietbin:x:2:2:bin:/bin:/bin/quietsys:x:3:3:sys:/dev:/bin/quietsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games:/usr/games:/bin/shman:x:6:12:man:/var/cache/man:/bin/shmail:x:8:8:mail:/var/mail:/bin/shnews:x:9:9:news:/var/spool/news:/bin/shbackup:x:34:34:backup:/var/backups:/bin/shあなたは出力から見ることができるように、最初の5行は、文字列の持っていたSHがに変更静かな、しかし、行の残りはそのまま残っていました。マッチングコマンドpオプションと-nオプションを使用すると、次のようにすべての一致する行を出力することができます。user:/root:/bin/shdaemon:x:1:1:daemon:/usr/sbin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys:x:3:3:sys:/dev:/bin/shsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games:/usr/games:/bin/shman:x:6:12:man:/var/cache/man:/bin/shmail:x:8:8:mail:/var/mail:/bin/shnews:x:9:9:news:/var/spool/news:/bin/shbackup:x:34:34:backup:/var/backups:/bin/sh正規表現の使用パターンを照合する際に、柔軟性の高い正規表現を使用することができます。daemonで始まるすべての行と一致する次の例を確認し、それらを削除します。'/sh$/d'sync:x:4:65534:sync:/bin:/bin/sync次の表は、正規表現で非常に便利な4つの特殊文字を示しています。