sedコマンド
基本的な使い方
sedコマンド
ファイルの内容を置換する場合
sed 's/置換前文字列/置換後文字列/g' ファイルPATH
標準出力の内容を置換する場合
コマンド | sed 's/置換前文字列/置換後文字列/g
文字列を置換する
○行目にある特定の文字列を置換する場合
sed '○s/置換前文字列/置換後文字列/g'
◯行目~◯行目にある特定の文字列を置換する場合
sed '○,○s/置換前文字列/置換後文字列/g'
特定の文字列を含む行のみ置換する場合
sed '/検索文字列/s/置換前文字列/置換後文字列/g'
行を挿入する
挿入の場合、実行する処理に応じて「i」と「a」を使い分ける
指定した行番号の箇所に行を挿入する
sed '◯i 挿入する行'
指定した行の後ろに行を挿入する
sed '◯a 挿入する行'
指定した複数の各行の前、後ろに行を挿入する
sed '◯,◯i 挿入する行' (前に挿入する場合)
sed '◯,◯a 挿入する行' (後に挿入する場合)
指定したキーワードを持つ行の前・後に行を挿入する
sed '/キーワード/i 挿入する行' (前に挿入する場合)
sed '/キーワード/a 挿入する行' (後に挿入する場合)
ファイル・標準出力から読み込んで行を追記する
sed '追記する行の条件r ファイルPATH' 対象ファイル(ファイルから追記)
コマンド | sed '追記する行の条件r /dev/stdin' 対象ファイル (標準出力から追記する)
行を削除する
◯行目を削除する
sed '◯d'
◯行目~◯行目を削除する
sed '◯,◯d'
決まったキーワードを持つ行を除外する
sed '/キーワード/d'
行の内容を上書きする
◯行目の内容を上書きする
sed '◯c 置き換え後の行'
特定のキーワードを持つ行を上書きする
sed '/キーワード/c 置き換え後の行'
ファイルの内容を上書きする
「-i」オプションを付与すると上書きをすることが出来る
sed -i '置換条件' ファイルPATH
保存時に直前の状態のバックアップを取得させることも出来る
sed -i.バックアップファイルの末尾に付与する文字列 '置換条件' ファイルPATH
複数の置換条件を適用する
「-e」オプションでそれぞれの置換条件を指定
sed -e '置換条件' -e '置換条件' ...
「;」で区切ることで複数指定することも可能
sed '置換条件;置換条件' ...
ファイルに書いた置換条件を読み込む
「-f」オプションを使用することで、外部ファイルに記述した置換条件を読み込んで実行できる
小文字/大文字の変換をする
小文字→大文字の場合
sed 's/\(.*\)/\U/'
大文字→小文字の場合
sed 's/\(.*\)/\L/'
置換にコマンドの実行結果を利用する
「”(ダブルクォーテーション)」か特に囲まないで、コマンドの実行箇所だけを「`(バッククォート)」で囲んで記述する
ダブルクォーテーション・シングルクォーテーションで囲まれた文字列に対して処理を行う
ダブルクォーテーションの場合
sed 's/"\([^"]*\)"/"置換後の値"/' 対象のファイルPATH
シングルクォーテーションの場合
sed 's/"\([^"]*\)"/"置換後の値"/' 対象のファイルPATH