sed コマンド 単純な置換

バイオインフォ道場、くまぞうです。

sed で単純な文字列置換を行います。sed の置換コマンド「s」を使います。
複数のコマンドを並べて、連続で置換処理を行うことができます。

スポンサーリンク



sed の書き方(置換)

sed [-e] 's/置換命令' 対象となるファイル

sed の使い方(置換)

簡単な例で「sed」の置換を使ってみましょう。

  1. ファイルの’R’をREADに置換
    $ cat sed_data.txt
    >a1 b1 c1 d1 R1
    AAAAAAAAAAAAAAA
    >a2 b2 c2 d2 R2
    AAAAAAAAAAAAAAA
    
    $ sed 's/R/READ/' sed_data.txt
    
    >a1 b1 c1 d1 READ1
    AAAAAAAAAAAAAAA
    >a2 b2 c2 d2 READ2
    AAAAAAAAAAAAAAA
    
  2. ファイルの’R’をREADに置換、READをreadに置換(複数のコマンド)
    $ sed -e 's/R/READ/' -e 's/READ/read/' sed_data.txt
    
    >a1 b1 c1 d1 read1
    AAAAAAAAAAAAAAA
    >a2 b2 c2 d2 read2
    AAAAAAAAAAAAAAA
    
  3. ファイルの’R’をREADに置換、READをreadに置換(複数のコマンド 別の書き方)
    結果は、例2と同じです。

    $ sed 's/R/READ/; s/READ/read/' sed_data.txt
    
  4. ファイルの’R’をREADに置換、READをreadに置換(置換コマンドをファイルで提供)
    結果は、例2と同じです。

    $ cat sed1
    s/R/READ/
    s/READ/read/
    
    $ sed -f sed1 sed_data.txt
    
  5. パイプを利用した置換(置換コマンドをファイルで提供)
    結果は、例2と同じです。

    $ cat sed_data.txt | sed -e 's/R/READ/' -e 's/READ/read/' 
    

ポイント

  • 置換コマンドは「s」。
  • コマンドは「’」(シングルクォーテーション)で囲む。
  • 置換コマンドは複数並べて、連続処理できる。
  • 複数並べて書く時は、「-e」をつける。または、コマンドを「;」(セミコロン)で区切る。
  • 複数のコマンドをスクリプトファイルとして指定できる。呼び出す場合は、「-f」でファイルを指定する。
スポンサーリンク