sed 流编辑器
- 非交互式的对内容进行增删查改的操作,只能在命令行输入编辑命令、指定文件名,然后在屏幕上查看输出。编辑对象为文件中的行
- 文件的内容增加操作
sed 'a\append data "haha"' data1
#在data1的每行后面追加一行新数据内容append data "haha"
sed '2a\append data "haha"' data1
#在data1的第二行后面追加一行新数据内容append data "haha"
sed '2,4a\append data "haha"' data1
#在data1的第二到四行后面追加一行新数据内容append data "haha"
sed '/3 the/a\append data "haha"' data1
#启用字符串匹配,匹配“3 the”的行后面追加一行新数据内容append data “haha"
sed 'i\insert data' data1
#在每行的前面插入一行新数据insert data
sed '2i\insert data' data1
sed '2,4i\insert data "haha"' data1
sed '/3 the/i\insert data "haha"' data1
echo "this is a test" | sed 's/test/text/'
#将test修改为text
sed 's/dog/cat/' data1
#将每一行中的dog替换为cat
sed '2s/dog/cat/' data1
sed '2,4s/dog/cat/' data1
sed '/3 the/s/dog/cat/' data1
sed 'c\change data "haha"' data1
#将每一行更改为change data "haha"
sed '2c\change data "haha"' data1
sed '2,4\change data "haha"' data1
sed '/3 the/c\change data "hahah"' data1
sed 'y/abc/ABC/' data1
#将每一行中的a b c字符对应转换为A B C字符
sed 'd' data1
#删除文件data1中的所有数据
sed '3d' data1
sed '2,4d' data1
sed '/3 the/d' data1
sed 'p' data1
#打印文件data1到屏幕上
sed '3p' data1
#打印文件的第三行内容
sed '2,4p' data1
sed '/3 the/p' data1
sed - e 's/brown/green/;s/dog/cat/' data1
vim abc
s/brown/green/
s/dog/cat/
s/fox/elephant/
sed -f abc data1
#等效为 sed -e 's/brown/green/;s/dog/cat/;s/fox/elephant/' data1
sed -n '2,$p' data1
#打印文件第二行到最后一行的内容
sed -n -r '/^(3 the)/p' data1
sed 's/dog/cat/2' data2
#替换第二行dog为cat
sed 's/dog/cat/g' data2
#将data2从所有的dog替换为cat
sed '3s/dog/cat/p' data2
#将第三行的dog替换为cat并打印
sed '3s/dog/cat/w text' data2
#将第三行中的dog替换为cat并存入文件text中