sed
標準入力からデータを受け取って結果を標準出力に書き出す。
パターンに一致した文字列を別の文字に置き換えるときに利用されるのが多い。
sed [opstion] [command] [filename] オプション -e その後の文字列が編集用のコマンド -n 指示した行だけ出力する、pを一緒に使う コマンド s/正規表現/文字列/g 正規表現にマッチした部分を文字列で置き換え gがなければその行最初の文字列だけを対象にする。あれば全部を対称にする。 /は区切り文字だが、他の文字に変更することもできる
$ sed -e "s/oldtext/newtext/g" #文字列の変換 $ sed -e "s/text//" #文字列の削除 $ sed -e "s/^text//" #行頭にtextがあった場合削除 $ sed -e "s/text\$//" #行末にtextがあった場合削除 $ sed -e "s/abc/abcxyz/g" #abcの後に文字列を追加 $ sed -e "s/^/text/" #行頭に文字列を追加 $ sed -e "s/\$text/" #行末に文字列を追加 $ sed -e "s/.*/abc/" #.*は全ての文字列を表す $ sed -e 's/<tab>/<space>/g' #タブをスペースに変換 $ sed -e 's/<space><space>*/<space>/g' #複数のスペースを1つのスペースに変換 # ホワイトスペースを1つのスペースに変換 $ sed -e 's/[<space><tab>][<space><tab>]*/<space>/g' $ sed -e 's/^[<space><tab>]*//' #行頭のホワイトスペースを削除 $ sed -e 's/[<space><tab>]*$//' #行末のホワイトスペースを削除 $ sed -e "/text/d" #textを含んだ行を削除 $ sed -e '/^$/d' #空白行を削除 $ sed -e "5,20s/oldtext/newtext/g" #5行目から20行目を変換 $ sed -e '1d' #1行目を削除 $ sed -n '1p' #1行目を表示