1 -{}多个sed命令,用;分开比如 nl 文件名 | sed ’{你要从第几行删除,到删除到第几行d;s/替换前的内容/替换后的内容/}’
2 -n读取下一个输入行,用下一个命令进行处理 nl 文件名 | sed -n ’{n;p}’ 打印文件中所有偶数的行
3 -&替换固定的字符串 sed ’ s/原来的字符串/&后来的字符串/’ 后面修改的字符串一定要跟原来的字符串有关系才能使用&,如s/w/w123/修改成s/w/&123/
4案例一:大小写转换,将用户名的首字母转换成大写
Sed ’s/^[a-z_-]\+/\u&/’ 文件名
5案例二:大小写转换,将文件夹下的.txt文件名转换成大写字母
Ls *.txt | sed ’s/^\w\+/\U&/’
6案例三:数据筛选,获取文件中的USER、UID和GID
USER sed ’s/\(^[a-z_-]\+\):.*$/\1/’ 文件名
USER和UID sed ’s/\(^[a-z_-]\+\):x:\([0-9]\+\):.*$/\1 \2/’ 文件名
USER和UID和GID sed ’s/\(^[a-z_-]\+\):x:\([0-9]\+\):\[0-9]\+\):.*$/\1 \2 \3/’ 文件名
7 -\(\)替换某种或部分字符串
8 -r复制指定文件插入到匹配行 插入操作 sed ’匹配行r 要读的文件’ 要插入的文件 意思是把读取的文件插入到另一个文件,插入时插入匹配行后面,并且不会改原文件
9 -w复制匹配行拷贝到指定文件里 改写操作 sed ’匹配行 w 写到的文件’ 要写入的文件也就是原文件名 只拷贝了匹配行到写到的文件中,而原文件没有改变,如果没有写匹配行,那么就会把整个原文件拷贝到要写到的文件中
10 q退出 sed nl 文件名 | sed ’操作q’ 意思是执行到这个操作后就马上退出sed