IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> shell sed 和 gawk 编辑器使用 -> 正文阅读

[开发工具]shell sed 和 gawk 编辑器使用

1. sed 编辑器

sed 编辑器被称作流编辑器(stream editor),和普通的交互式文本编辑器恰好相反。在交互式文本编辑器中(比如vim),你可以用键盘命令来交互式地插入、删除或替换数据中的文本。流编辑器则会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中

sed 编辑器的执行流程

(1) 一次从输入中读取一行数据。
(2) 根据所提供的编辑器命令匹配数据。
(3) 按照命令修改流中的数据。
(4) 将新的数据输出到 STDOUT
由于命令是按顺序逐行给出的,sed编辑器只需对数据流进行一遍处理就可以完成编辑操作。这使得 sed 编辑器要比交互式编辑器快得多,你可以快速完成对数据的自动修改。

调用 sed 命令的语法有以下两种办法
第一种:在命令行指定sed指令对文本进行处理:sed +选项 ‘指令’
第二种:先将 sed 指令保存到文件中,将该文件作为参数进行调用:sed +选项 -f 包含sed指令的文件

sed 命令的格式
sed [options] [script] [file]
或更清晰的划分格式
sed [-hnV][-e<script>][-f<script文件>][需要被编辑的文本文件]

sed的常用选项:
-r:使用扩展正则表达式
-e:它告诉 sed 将下一个参数解释为一个 sed 指令,当命令行上给出多个sed指令时才要使用 -e 选项
-f:后跟随的是保存了 sed 指令的文件
-i:直接对内容进行修改,不加 -i 时默认只是预览,不会对文件做实际修改
-n:取消默认输出,sed 默认会输出所有文本内容,使用 -n 参数后只显示处理过的行

sed中的编辑命令:
a :新增, a 的后面可以接字串, 而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串, 这些字串可以取代 n1,n2 之间的行!
d :删除, 因为是删除啊, 所以 d 后面通常不接任何咚咚
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
p :打印, 亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代, 可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法, ‘2s/Hello/Good/’

使用实例

sed '3aHello' file.txt   # 向第三行后面添加 Hello 字符串,其中 3 表示文件行号,a 表示添加内容

sed '/123/aHello' file.txt # 向内容 123 后面添加 Hello,如果文件中有多行包括123,则每一行后面都会添加

sed '$aHello' file.txt  # 在文件的最后一行添加 Hello 字符串

sed '/123/iHello' file.txt  # 在包含 123 的行之前插入 Hello,如果有多行包含 123,则包含 123 的每一行之前都会插入 Hello 字符串

sed '4d' file.txt  # 删除文件第四行内容

sed 's/123/Hello/g' file.txt # 将文本中所有的 123 都替换为 Hello
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 11:58:27  更:2022-04-26 12:01:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:36:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码