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次