Linux学习2----sed
sed命令
- 功能:对文件数据流编辑
语法
sed [选项] [sed内置命令字符] [输入文件]
选项
| 参数选项 | 解释 |
|---|---|
| -n | 取消默认sed的输出,常与内置命令p一起使用 |
| -i | 直接将修改结果写入文件,不用-i,sed修改的是内存数据 |
| -e | 多次编辑,不需要管道符了 |
| -r | 支持正则扩展 |
sed内置命令符
用于对文件进行不同的操作功能,如对文件增删改查
| sed内置命令符 | 解释 |
|---|---|
| a | append,对文本追加,在指定行后面添加一行/多行文本 |
| d | delete,删除匹配行 |
| i | insert,表示插入文本,在指定行前添加一行/多行文本 |
| p | print,打印匹配行的内容,通常与-n一起使用 |
| s/正则/替换内容/g | 匹配正则内容,然后替换内容(支持正则),结尾g代表全局匹配 |
sed匹配范围
| 范围 | 解释 |
|---|---|
| 空地址 | 全文处理 |
| 单地址 | 指定文件某一行 |
| /pattern/ | 被模式匹配到的每一行 |
| 范围区间 | 10,20 十到二十行,10,+5 第10行向下5行, /pattern1/,/pattern2/ |
| 步长 | 12,表示1、3、5、7、9行,22 表示2、4、6、8、10 |
sed案例
sed "2,3p" pwd.txt -n #打印第2、3行
sed -n "/linux/p" pwd.txt #打印含linux的行
sed "/game/d" pwd.txt -n #删除含有game的行
sed "/game/d" pwd.txt -n -i #删除含有game的行(删除文件里的内容)
sed "5,$d" pwd.txt #删除第5行以后的
sed "s/匹配的内容/替换的内容/g" pwd.txt -i #替换
sed -e "s/匹配的内容1/替换的内容1/g" -e "s/匹配的内容2/替换的内容2/g" pwd.txt #多次替换 -e多次执行
sed "3a i like girl. \n i like pretty girl" pwd.txt #添加多行
sed "a ------" pwd.txt #在每一行后面追加
ifconfig ens33 | sed "2p" -n | sed "s/^.*inet//" |sed "s/net.*$//" #找到纯数字ip
ifconfig ens33 | sed -e "2s/^.*inet//" -e "2s/net.*$//p" -n #找到纯数字ip
播种和收获通常不在一个季节,而中间的过程叫做坚持~

浙公网安备 33010602011771号