sedコマンドの使い方入門|置換・削除・行指定の基本操作まとめ

sedコマンドの使い方入門|置換・削除・行指定の基本操作まとめ

2分で読める テック
最終更新:

開発中にsedコマンドを使うことがあったので、備忘録として残しておきます。

sedコメントはLinux(Unix)上で文字列を処理する際に使用するコマンド。

sedコマンドとは

sed: stream editorの略称のようです。

sedコマンドの使い方

下記の方法で使うことができます。

sed [オプション] コマンド 入力ファイル名

sedコマンドの仕様例

下記のようなテキストファイルを用意します。

this is sample
hoge
fuga
piyo

条件に一致した最初の箇所を置換する

s/正規表現/置換文字列/フラグ

このような形でスクリプトを実行することができます。

$ sed -e 's/this/This/' sample.txt
# sコマンドは正規表現でパターンマッチさせる
This is sample
hoge
fuga
piyo 

条件に一致する全ての箇所を置換する

$ sed -e 's/a/A/g' sample.txt
# gフラグは1つの行で複数マッチ可能にする
this is sAmple
hoge
fugA
piyo

条件に一致する文字列を削除する

$ sed -e 's/g//g' sample.txt
this is sample
hoe
fua
piyo

直接ファイルを編集する

-i オプションでファイルを直接書き換えます。macOS と Linux でオプションの書き方が違います。

# Linux
$ sed -i 's/this/This/' sample.txt

# macOS(-i の後に空文字列が必要)
$ sed -i '' 's/this/This/' sample.txt

行を削除する例(a を含む行を削除):

# Linux
$ sed -i '/a/d' sample.txt

# macOS
$ sed -i '' '/a/d' sample.txt

$ cat sample.txt
hoge
piyo

参考サイト

質問・リクエストを送る

記事についての質問や、取り上げてほしいテーマがあればお気軽にどうぞ。いただいた質問はブログ記事として回答し、Q&Aページで公開することがあります。