マニュアル: sed

投稿日: 更新日:

オプション

  • -n: デフォルトではコマンドが終了したらその中身を出力するが、明示的にpコマンドで指定しない限り、標準出力に出力しない。
  • -i <拡張子>: ファイルの中身を置き換えします(インプレース)。
    • -i.bak または -i .bak とすると、ファイル名の最後に .bak が付いたファイルがバックアップされます。

コマンド

  • 分岐: b label
      • /^".*"$/b double: 最初と最後が"なら、ラベルdoubleに移動
      • b none: 常にラベルnoneに移動
  • 置換: s/正規表現/置換文字列/フラグ
    • 通常は/が使われるが、多くの任意の文字が使用可能(GNU1, BSD2)。自分はs|...|...|をよく使います(スラッシュに見た目が近いので)。
    • 正規表現を\(\)で囲むと、置換文字列に\1のように使うことができる。
    • フラグ
      • g: 全て置き換える
      • p: 標準出力に表示
  • ラベル: :label
    • 例: :double

正規表現

sed の正規表現 は+が使えない。

特定の文字列以降を表示するスクリプト

sed -e 's/^.*検索対象文字列\(.*\)$/\1/'

マッチした次の行を表示するスクリプト

sed -ne 's/検索文字列/{n;p}'

  1. sed, a stream editor\%regexp%の欄に記載があります。 ↩︎

  2. man sed[2addr]sの欄に記載があります。 ↩︎

外部サイト