sedコマンド
基本的な置換
# 文字列置換(最初の一致のみ)
sed 's/置換前/置換後/' ファイル名
# 文字列置換(すべて)
sed 's/置換前/置換後/g' ファイル名
# ファイルを直接編集
sed -i 's/置換前/置換後/g' ファイル名
# バックアップを作成して編集
sed -i.bak 's/置換前/置換後/g' ファイル名
行の操作
# 特定行を削除
sed '3d' ファイル名 # 3行目を削除
sed '2,5d' ファイル名 # 2-5行目を削除
sed '/pattern/d' ファイル名 # パターンにマッチする行を削除
# 行を挿入
sed '3i\追加する行' ファイル名 # 3行目の前に挿入
sed '3a\追加する行' ファイル名 # 3行目の後に挿入
# 特定行のみ表示
sed -n '3p' ファイル名 # 3行目のみ表示
sed -n '2,5p' ファイル名 # 2-5行目のみ表示
よく使う実例
# IPアドレス変更
sed -i 's/192.168.1.100/192.168.1.200/g' /etc/hosts
# コメントアウト
sed -i 's/^/#/' ファイル名 # 行頭に#を追加
# コメントアウト解除
sed -i 's/^#//' ファイル名 # 行頭の#を削除
# 空行削除
sed -i '/^$/d' ファイル名
# ファイル末尾に行追加
sed -i '$a\追加する行' ファイル名
高度な使い方
# 複数の置換を同時実行
sed -e 's/old1/new1/g' -e 's/old2/new2/g' ファイル名
# 正規表現を使用
sed 's/[0-9]\+/NUMBER/g' ファイル名 # 数字をNUMBERに置換
# 大文字小文字を区別しない
sed 's/pattern/replacement/gi' ファイル名