文本处理编辑命令sed
命令格式:
sed [选项] ‘(截取的行)[动作]‘ 文件名
选项:-n:只把经过sed处理的行输出
-e:允许输入多条动作
-i:sed修改的结果写入文件
截取行:(1)直接输入行号
(2)/正则表达式/
(3)x,y 从x到y行,也可以用正则取代
(4)x,y! 取反
(5)x~y 从x行开始,步进y行
(6)$ 文档末
动作:p 打印 eg: sed -n ‘(行)p‘ student.txt
a 行后增加新的一行,i 行前增加新的一行
sed ‘1,5a =============‘ student.txt
sed ‘/正则/a ============‘ student.txt
d 删除某行
sed ‘/正则/d‘ student.txt
sed ‘4d‘ student.txt
c 替换指定行
sed ‘2c canglaoshi bujigee‘ student.txt
sed ‘/正则/c lalalalalalala‘ student.txt
s 替换指定字符串(替换每行第一个);结尾g表示每一行所有
sed ‘/正则(定位行)/s/正则(旧)/abcd(新)/‘ student.txt
sed ‘s/正则(旧)/abcd(新)/‘ student.txt (全文替换)
sed ‘/www/s/33/000/g‘ zz_test.txt
操作:{}多个命令组合,用;分开
sed ‘{1,20p;s/www/s/33/000//g}‘
& 取原字符
sed ‘s/abc/&def‘ student.txt (把abc换成abcdef)
u 字符串首字母改成大写
sed ‘s/abc/\u&/‘ student.txt (把abc改成Abc)
l 字符串首字母改成小写
U 字符串所有字母改成大写
sed ‘s/abc/\U&/‘ student.txt (把abc改成ABC)
L 字符串所有字母改成小写
r 将某文件插入到另一文件的指定行中
sed ‘1r abc.txt‘ 123.txt (将abc.txt中的内容插入到123.txt文件的第1行)
q 退出sed
sed ‘/false/q‘ student.txt (找到一个false就退出sed)