功能:Linux sed 命令是利用脚本来处理文本文件。
sed 可依照脚本的指令来处理、编辑文本文件。
Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
格式:
sed [OPTION]... {script-only-if-no-other-script} [input-file]...
sed [选项] '地址 命令' file
选项:
- -e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。// 可以加多个指令
- -f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
- -h或--help 显示帮助。
- -n或--quiet或--silent 仅显示script处理后的结果。// 和动作p一起使用
- -V或--version 显示版本信息。
- -i 修改
- -r 支撑正则
动作说明:
- a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
- c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
- d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
- i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
- p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
- s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
随便编写了一个文档做演示 文档内容如下
实例
1. d 删除 删除第一行内容 sed '1d' txt.txt 只是测试显示效果而已 并非真的删除 !!!
2. 使用 -i 参数 实现真实操作 sed -i '1d' txt.txt
3. d删除 从第几行开始删除 删除到第几行 用,隔开 sed '2,5d' txt.txt 不加 -i参数 都只是测试 !!!
4. 删除匹配到的行 匹配开头为1 的行 sed '/^1/d' txt.txt
5. 打印指定行 到 第一个指定的行 打印从第五行开始 到 第一个以7开头的行结束 sed -n '5,/^7/p' txt.txt -n 和 p 一般一起使用 p 是打印的意思
6. p 打印奇数行偶数行
7. -e 参数 执行多个命令
8.-r 扩展正则
9. s替换 g全局替换
10 .s前面写的是行
11. 提取IP地址把不需要的东西替换为空