ストリームエディタ
sed [-n] [-e command] [-f script-file] [command] [datafile]
datafileから入力されたテキストデータを、commandにしたがった作業をして出力するフィルタープログラムである。
commandの部分は
(アドレス指定)(コマンド)(文字列)
の形をしている。
入力はdatafileが指定されない時は標準入力になる。
出力は標準出力である。
# cat data test1 test2 test3 test4 tmp1 tmp2 tmp3 # sed '2,3p' data <- 2行目から3行目までを表示 test1 test2 <- -n を忘れると1行が2回表示される。 test3 test4 test3 test4 tmp1 tmp2 tmp3 tmp1 tmp2 tmp3 # sed -n '2,3p' data <- 2行目から3行目までを表示(-n を忘れないこと) test3 test4 tmp1 tmp2 tmp3 # sed -n '/tmp/p' data <- tmpを含む行を表示 tmp1 tmp2 tmp3 # sed -n '2,/tmp/p' data <- 2行目からtmpを含む行までを表示 test3 test4 tmp1 tmp2 tmp3 # sed -n -e '1p' -e '3p' data <- 1行目と3行目を表示 test1 test2 tmp1 tmp2 tmp3 # sed '/test/d' data <- testを含む行を削除 tmp1 tmp2 tmp3 # sed 's/test/aaa/' data <- testをaaaに変換 aaa1 test2 aaa3 test4 tmp1 tmp2 tmp3 # sed 's/test/aaa/g' data <- 全てのtestをaaaに変換 aaa1 aaa2 aaa3 aaa4 tmp1 tmp2 tmp3 # sed 's/test[23]/aaa/' data <- test2とtest3をaaaに変換 test1 aaa aaa test4 tmp1 tmp2 tmp3 # sed 's/test.$/aaa/' data <- 行の最後にあるtest.を変換 test1 aaa test3 aaa tmp1 tmp2 tmp3 # pwd /CG/CG98/ad980000 # pwd | sed 's/.*\///' <- ディクトリ名部分を取る ad980000