linux基础命令之sed
什么是sed?
sed是一个流编辑器,英文全名为stream editor,流的意思就是能处理文件或者通过管 道传输来的数据。主要针对行,也就是行编辑。默认是不编辑文件的,处理时,把当前 处理的行存储在临时缓冲区中,称之为模式空间(pattern space),接着用sed命令处理 缓冲区中的内容,处理完成后,默认把缓冲区的内容送往至屏幕,接着处理下一行。仅 对模式空间中的数据做处理,处理结束后将模式空间打印至屏幕
·sed的用法
sed [options] ‘AddressCommand’ file
options
-e SCRIPT 可以同时执行多个addresscommand,sed -e …… -e ……
-n 静默模式,不显示模式空间中的内容
-i 直接修改原文件
-r sed默认不支持扩展的正则表达式,-r则支持
-f 执行指定文件,该文件内容为addresscommand的一系列格式
address
1 startline,overline 用逗号分割
2 /pattern/ 用正则表达式即可
3 /pattern1/,/pattern2/ 第一次被模式匹配的行开始,到第一次被模式2匹配到的行 结束
4 linenumber 指定的行,其中$表示最后一行。
5 startline +n 从指定行开始,向后的n行,共n+1行。
command 若有多个命令用;分开
d 删除符合条件的行
p 输出行,n和p一起用表示只打印那些发生变换的行
a\ 在当前行下面插入文本
i\ 在当前行上面插入文本
q 退出sed
n 读取下一行,用下一个命令处理新行,而不是第一个命令。
a(此处有空格)\’string’ 在指定的行后追加新行,内容为string
i(此处有空格)\’string’ 行前
r(此处有空格)file 将指定文件内容添加至符合条件的每行后面,可用来将两个 文件合并
w(此处有空格)file 指定范围内行另存为指定文件中。
s/// /pattern/string/修饰符 查找pattern并替换为string,默认只替换每行中第一次 被匹配到的字符串。/可以用@ #等代替。
修饰符 g 全局替换
i 忽略大小写
假设处理的文本为test.file
在每行的头添加字符,比如"HEAD",命令如下:
sed 's/^/HEAD&/g' test.file
在每行的行尾添加字符,比如“TAIL”,命令如下:
sed 's/$/&TAIL/g' test.file
在指定行的末尾添加内容:
Cat file
Aaaa
Bbbb
Cccc
Sed ‘s/cc.*/& eeee/g’ file
linux基础命令之sed的更多相关文章
- Linux基础命令---文本编辑sed
sed sed是一种流编辑器,用来从输入流中读取内容并完成转换,输入流可以来自一个文件,也可以来自一个管道. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openS ...
- [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)
linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...
- Linux基础命令小结(超全!!)
Linux目录结构 1.bin 存放经常使用的指令比如ll,cp 2.sbin 系统管理员使用的系统管理指令 3.home 存放普通用户的住目录 4.root 系统管理员的用户主目录 5.boot 存 ...
- 第四节,Linux基础命令
第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令 ...
- 【Python之路】第一篇--Linux基础命令
pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 . 表示当前目录 .. 表示上级目录 / 表示根目录 ls ...
- linux基础命令学习笔记(二)
linux基础命令学习笔记(二) 1.kill :终止进程 kill pid (唯一标示一个进程) kill -9 强制终止 kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...
- 2.Linux基础命令
linux内一切皆文件,没有文件夹只有目录,目录也是一种文件 1.一些常用按键: 将鼠标的光标从虚拟机里切换回来:Ctrl+Alt 拖动Ubuntu内的对话框:Alt键+鼠标左键拖动 清屏:Ctrl+ ...
- linux基础命令一
linux基础命令一 1.date命令 date命令介绍:显示或者设置系统日期 date命令的语法: 显示日期:date [options...] [+FORMAT] FORMAT:为显示日期的格 ...
- linux基础命令:
linux基础命令: 显示 echo 输出我写的内容 ls 查看当前目录的文件 pwd 查看当前目录 ifconfig 查看网卡信息 grep 过滤 -v 取反 -n man 查看命令的帮助信息 md ...
随机推荐
- SpringMvc跨域支持
SpringMvc跨域支持 在controller层加上注解@CrossOrigin可以实现跨域 该注解有两个参数 1,origins : 允许可访问的域列表 2,maxAge:飞行前响应的缓存持续 ...
- java读取properties文件的几种方法
一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取 Properties p=new Properties(); ...
- echart 插件实现全国地图
最近的项目要用到一个能展现全国地图的功能,并且全国各个省份显示的颜色不同,点击省份后会返回省份名称.经过反复的查找最终确定了echart这个插件,最后的成果还不错,在这里写下来希望对大家有所帮助.话不 ...
- grunt入门讲解6:grunt使用步骤和总结
Grunt是啥? 很火的前端自动化小工具,基于任务的命令行构建工具. Grunt能帮我们干啥? 假设有这样一个场景: 编码完成后,你需要做以下工作 HTML去掉注析.换行符 - HtmlMin CSS ...
- 转 webpack 插件 svg-sprite-loader
最近开始看 Vue 了,首先用官方的模版把项目快速搭建起来: Vue.js 提供一个官方命令行工具,可用于快速搭建大型单页应用.该工具提供开箱即用的构建工具配置,带来现代化的前端开发流程.只需几分钟即 ...
- windows多线程(六) 互斥量Mutex与关键段CriticalSection比较
一.关键段CS 和 互斥量Mutex 的相同点:都有线程拥有权 关键段和互斥量都有线程拥有权,即可以被一个线程拥有.在 前面讲关键段CS的文章中有说到,关键段结构体的第四个参数保存着拥有该关键段的线程 ...
- 使用WinSW 将 exe 创建成Windows下面 service的方法 (将nginx创建成 services)
1. 使用winsw工具能够将部分exe 创建成服务, 这样可以很简单的创建nginx的服务, 避免每次需要执行相应的命令. 2. 方法,下载 工具 地址 github https://github. ...
- check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=InnoDB' at line 7
第一种是:解决MySQL的版本问题(我用的是mysql 5.5版本),mysql 5.0版本以后的数据库方言是:org.hibernate.dialect.MySQ5LInnoDBDialect.第二 ...
- Linux中Apache+Tomcat+JK实现负载均衡和群集的完整过程
人原创,一个字一个字地码的,尊重版权,转载请注明出处! http://blog.csdn.net/chaijunkun/article/details/6987443 最近在开发的项目需要承受很高的并 ...
- 在Asp.Net Core中使用Session
1.在Stratup.cs中配置Session public void ConfigureServices(IServiceCollection services) { services.AddSes ...