sed -n '10'p 1.txt   //打印指定的第10行

sed -n '1,10'p 1.txt  //打印1到10行

sed -n '30,$'p 1.txt  //打印30到末尾行

sed -n '/root/'p 1.txt  //打印包含root的行


sed '/[0-9]/'d 1.txt    //删除所有包含数字的行(只是不显示数字行,文件内容没有变化)

sed '/[a-zA-Z]/'d 1.txt  //删除所有的字母行(只是不显示字母行,文件内容没有变化)

sed '1,19'd 1.txt      //删除1到19行,只是不显示1到19行,但实际文件没有变化

sed -i '1,19'd 1.txt   //删除1到19行,文件被实际删除1到19行.


sed -r  类似于egrep=grep -E   用于有特殊符号

$-1  //倒数第一行

-i   会对实际文件进行操作改动

a \string  在制定的行后面追加新行,内容为string

\n  可以用于换行

i \string  在制定的行前面追加新行,内容为string

r FILE  将指定的文件的内容添加至符合条件的行处

w FILE  将地址指定的范围内的行另存至指定的文件中

s/// s@@@ s###  查找并替换


sed '1,10s/nologin/login/g' 1.txt   //将nologin替换成login(没有实际更改文件) //g 全局替换 i 忽略大小写

sed '1,10s#/sbin/nologin#login#g' 1.txt   //替换目录1到10行

sed 's#/sbin/nologin#login#g' 1.txt   //全局替换

sed 's#^.*$#& login#g' 1.txt    //在所有行的末尾加一个login

sed 's#[0-9]##g' 1.txt      //把所有行的数字删掉

sed 's#[a-zA-Z]##g' 1.txt    //把所有的字母删掉

sed 's#[^0-9a-zA-Z]##g' 1.txt    //删除所有非数字字母的内容

sed -r 's#(^[a-z]+) (:.*:) (.*$)#\3\2\1#g' 1.txt    //行头第一段和行尾第一段调换

sed -r 's#(^[a-z0-9]+) (:.*:) (.*$)#\3\2\1#g)' 1.txt

sed -n '/root/p; /aming/p' 1.txt    //显示包含root和aming 的行,都包含的行就显示2次