10月17日任务
9.4/9.5 sed
9.4 sed(上)
sed可实现grep的功能
强项在于替换
匹配语法:
sed '/#/'p file ##为需要匹配的文字 p指print
sed -n '/o\+t/'p file #除去无关的行
sed -n '1,3'p file #显示1到3行
sed -n '*,$'p file #*为行数,$指末行
sed -nr '/o+t/'p file #r免去脱义
sed -r 与grep -E 类似
在'//'中各种符号与grep语法相同
sed工具
sed -n '5'p test.txt
sed -n '1,5'p test.txt
sed -n '1,$'p test.txt
sed -n '/root/'p test.txt
sed -n '/^1/'p test.txt
sed -n 'in$'p test.txt
sed -n '/r..o/'p test.txt
sed -n 'oo*'p test.txt
sed -e '1'p -e '/111/'p -n test.txt #匹配第一行且匹配111行,两个不同表达式
9.5 sed(下)
sed '/bus/'Ip test.txt #大小写都匹配
sed '1,30'd test.txt #删除前30行的内容
sed -i '1,30'd test.txt #删除1-30行
sed '1,10s/root/toor/g' test.txt 替换root为toor
sed -r '1,10s/ro+/r/g' test.txt 替换roo为r
sed -r 's/([^:]+):(.*):([^:]+)/\3:2:1/' test.txt #调换顺序 第二个冒号匹配最后一个冒号 小括号括起来是需要调用
sed 's/\/sbin\/nologin/123/g' == sed 's@/sbin/nologin@123@g'
sed 's/(^.*$)/aaa:&/'p test.txt #在开头加入aaa: