Linux 实战技能 100 讲
尹会生
前游戏公司技术总监,前新浪网技术经理
47505 人已学习
新⼈⾸单¥68
课程目录
已完结/共 118 讲
第五章:文本操作篇 (15讲)
Linux 实战技能 100 讲
登录|注册
留言
3
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 92 | sed多行模式空间
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | 什么是Linux
04 | Linux的内核版本及常见发行版
05 | 安装VirtualBox虚拟机
06 | 在虚拟机中安装Linux系统
07 | 第一次启动Linux
08 | 万能的帮助命令:man、help、info
09 | 初识pwd和ls命令
10 | 详解ls命令
11 | 详解cd命令
12 | 创建和删除目录
13 | 复制和移动目录
14 | 如何在Linux下进行文本查看
15 | 打包压缩和解压缩
16 | Vim的四种模式
17 | Vim的正常模式
18 | Vim的命令模式
19 | Vim的可视模式
20 | 用户和用户组管理及密码管理
21 | su和sudo命令的区别和使用方法
22 | 用户和用户组的配置文件介绍
23 | 文件与目录权限的表示方法
24 | 文件权限的修改方法和数字表示方法
25 | 权限管理以及文件的特殊权限
26 | 网络管理
27 | 查看网络配置
28 | 修改网络配置
29 | 网络故障排除命令
30 | 网络管理和配置文件
31 | 软件包管理器的使用
32 | 使用rpm命令安装软件包
33 | 使用yum包管理器安装软件包
34 | 通过源代码编译安装软件包
35 | 如何进行内核升级
36 | grub配置文件介绍
37 | 使用ps和top命令查看进程
38 | 进程的控制与进程之间的关系
39 | 进程的通信方式与信号:kill命令
40 | 守护进程
41 | screen命令和系统日志
42 | 服务管理工具systemctl
43 | SELinux简介
44 | 内存与磁盘管理
45 | 内存查看命令
46 | 磁盘分区和文件大小查看
47 | 文件系统管理
48 | i节点和数据块操作
49 | 分区和挂载
50 | 分区和挂载磁盘配额
51 | 交换分区swap的查看与创建
52 | 软件RAID的使用
53 | 逻辑卷LVM的用途与创建
54 | 系统综合状态查看命令sar以及第三方命令
55 | 什么是Shell
56 | Linux的启动过程
57 | Shell脚本的格式
58 | 脚本不同执行方式的影响
59 | 管道
60 | 重定向
61 | 变量赋值
62 | 变量引用及作用范围
63 | 环境变量、预定义变量与位置变量
64 | 环境变量配置文件
65 | 数组
66 | 转义和引用
67 | 运算符
68 | 特殊字符大全
69 | test比较
70 | if判断的使用
71 | if-else判断的使用
72 | 嵌套if的使用
73 | case分支
74 | for的基本使用
75 | C语言风格的for
76 | while循环和until循环
77 | 循环的嵌套和break、continue语句
78 | 使用循环处理位置参数
79 | 自定义函数
80 | 系统函数库介绍
81 | 脚本资源控制
82 | 信号
83 | 一次性计划任务
84 | 周期性计划任务
85 | 为脚本加锁
86 | 元字符介绍
87 | find 演示
88 | sed和awk介绍
89 | sed替换命令讲解
90 | sed的替换指令加强版
91 | sed的其他常用命令
92 | sed多行模式空间
93 | 什么是sed的保持空间
94 | 认识awk
95 | awk的字段
96 | awk表达式
97 | awk判断和循环
98 | awk数组
99 | awk数组功能的使用
100 | awk函数
101 | 防火墙概述
102 | iptables规则的基本使用演示
103 | iptables过滤规则的使用
105 | firewalld
104 | iptables nat表的使用
106 | SSH介绍之Telnet明文漏洞
107 | SSH服务演示
108 | FTP服务器vsftpd介绍与软件包安装
109 | vsftpd配置文件介绍
110 | vsftp虚拟用户
111 | samba服务演示
112 | NFS服务
113 | Nginx基本配置文件
114 | 使用Nginx配置域名虚拟主机
115 | LNMP环境搭建
116 | DNS服务的原理
117 | NAS演示
118 | 结课测试&结束语
登录 后留言

全部留言(3)

  • 最新
  • 精选
Frank
老师 ,一个N 是处理 2行吗? 两个N 就是处理4行吗?

作者回复: 不是哦, N是把当前处理行的下一行追加到模式空间(内存),再增加一个N指令,是再增加一行进来,不是4行

2019-10-30
3
龙虾爸
老师以下两个问题请教 还请老师指导,谢谢老师 问题一:aaa.conf 原始内容 $cfg['blowfish_secret'] = ''; 想在后面''加入内容 $cfg['blowfish_secret'] = 'H2AxxxxxflSaaaarwVlhCKW6S2rERU3i'; 问题二:aaa.conf 想要在第33行加入 $cfg['TempDir'] = '/var/lib/xxxxxx/tmp';

作者回复: 1 sed -i "s/\$cfg\['blowfish_secret'\] = '';/\$cfg\['blowfish_secret'\] = 'H2AxxxxxflSaaaarwVlhCKW6S2rERU3i';/" aaa.conf (用sed实现的效果不理想) 2 sed -i "33i\$cfg['TempDir'] = '/var/lib/xxxxxx/tmp';" aaa.conf 我再提供一个awk的版本 awk '{gsub(/\$cfg\[\\047blowfish_secret\\047\] = \\047\\047;/, "$cfg[\\047blowfish_secret\\047] = \\047H2AxxxxxflSaaaarwVlhCKW6S2rERU3i\\047;"); print}' aaa.conf > tmp.conf && mv tmp.conf aaa.conf awk 'NR==33{print;print "$cfg[\\047TempDir\\047] = \\047/var/lib/xxxxxx/tmp\\047;";next}1' aaa.conf > tmp.conf && mv tmp.conf aaa.conf 供你参考

2023-09-01
勇敢的憨憨
10:36那里,为啥说 sed 'N;s/\n//' 匹配不到最后一个换行符?不是每行都有换行符吗?为啥只会匹配第一行的\n ,不匹配第二行的\n呢?

作者回复: 你好, N命令规定要读取到下一行,才会继续执行它后面的s命令。 如果当前处于文件的最后一行,执行N命令后,sed会因为到达文件的结尾EOF,N命令会执行失败,导致N后面的s命令不执行。

2021-12-08
收起评论