利用sed命令行进行增删改查

sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;非交互式编译文件

语法:
sed [options] ‘[command]‘ [filename]
options:
-n 抑制自动(默认的) 输出(全部打印) 读取下一个输入行, -n 要读取的行号
-e 执行多个sed指令
-f 运行脚本
-i 编辑文件内容
-i.bak 编辑的同事创造.bak的备份
-r 使用扩展的正则表达式

command:
a 在匹配后追加
i 在匹配后插入
p 打印
d 删除
r/R 读取文件/一行
w 另存
s 查找
c 替换
y 替换
h/H 复制拷贝/追加模式空间(缓存区)到存放空间
g/G 粘贴 从存放空间取回/追加到模式空间
x 两个空间内容的交换
n/N 拷贝/追加下一行内容到当前
D 删除\n之前的内容
P 打印\n之前的内容
b 无条件跳转
t 满足匹配后的跳转
T 不满足匹配时跳转

例子:
cp /etc/passwd . 拷贝一份passwd文件到当前家目录
sed ‘3p‘ passwd 不加-n时,将第3行内容打印一次并再次将整个文件内容打印
sed -n ‘3p‘ passwd 打印第3行内容
sed -n ‘1,3n‘ passwd 打印前3行内容
sed -n ‘1,3!p‘ passwd 打印文件除前3行之外的全部内容
sed -n ‘3,+3p‘ passwd 打印机第三行之后的三行

sed ‘1i ###############‘ passwd 在第一行插入###########内容并打印出来
sed ‘$a @@@‘ passwd 在末尾追加@@@内容并打印出来
sed ‘3c $$$‘ passwd 将第三行替换成¥¥¥

兄弟连教学视频总结了一下sed命令的使用
sed [选项] ‘[动作]‘ 文件名
选项:
-n:一般sed命令会把所有数据都输出到屏幕,如果加入此选择,则会把经过sed命令处理的行输出到屏幕

-e:允许对输入数据应用多条sed命令编辑

-i:用sed的修改结果直接修改读取数据达的文件,而不是由屏幕输出

动作:
a\:追加,在当前行后添加一行或多行。添加多行时,除最后一行外,每行末尾需要用“\”代表数据未完结。
c\:行替换,用c后面的字符串替换原数据行,替换多行时,除最后一行外,每行末尾需要用“\”代表数据未完结。
i\:插入,在当期行前插入一行或多行。插入多行时,除最后一行外,每行末尾需要用“\”代表数据未完结。
d:删除,删除指定的行
p:打印,输出指定的行
s:字符串替换,用一个字符串替换另外一个字符串。格式为“行范围s/旧字符串/新字符串/g”(和vim中的替换格式相似)。

原文地址:http://blog.51cto.com/12131824/2125846

时间: 2024-10-26 15:51:00

利用sed命令行进行增删改查的相关文章

vue实战(一):利用vue与ajax实现增删改查

vue实战(一):利用vue与ajax实现增删改查: <%@ page pageEncoding="UTF-8" language="java" %> <%@ include file="../commons/taglib.jsp" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.

JavaWeb程序利用Servlet的对SQLserver增删改查操作

声明:学了几天终于将增删改查的操作掌握了,也发现了一些问题,所以总结一下. 重点:操作数据库主要用的是SQL语句跟其他无关. 一:前提知识:PreparedStatement PreperedStatement是Statement的子类,它的实例对象可以通过调用Connection.preparedStatement()方法获得,相对于Statement对象而言:PreperedStatement可以避免SQL注入的问题. Statement会使数据库频繁编译SQL,可能造成数据库缓冲区溢出.P

Android_ADB 常用 shell命令 和 sqlite3 简单增删改查

今天学习了一个ADB的常用命令.接下来简单使用几个常用ADB shell 命令. 首先我们得明白什么是adb.exe ADB -Android Debug Bridge, 是 Android sdk 里的一个工具,用这个工具可以直接操作管理 Android 模拟器或者真实的 Android 设备 简单来说,ADB 是一个[客户端(pc)-服务器端(android)]程序. 当然,重要的一点是,你的 Android 设备得打开 USB 调试 ADB 的主要功能有: 1.运行设备的 shell(命令

利用LINQ to SQL 增删改查本地数据库

C#新人,博客园第一篇博文,希望大家多多指教. 最近趁项目空隙,学习了LINQ,其强大高效易读的数据操作方式令人印象深刻.特别是LINQ to SQL,让用户可以像操作内存对象一样操作SQL数据库.在阅读了<深入理解c#>和参考以下四篇博文后,自己摸索,完成了创建本地SQL数据库和数据表,VS连接数据库,到利用LINQ to SQL增删改查数据库表中信息. SQL服务器安装:http://www.downcc.com/tech/4135.html SQL数据库和数据表格创建:http://bl

Android下利用SQLite数据库实现增删改查

1: 首先介绍如何利用adb查看数据库 1: adb shell 2: cd /data/data/包名/databases 3:  sqlite3 数据库 4   接下来就可以进行数据库的sql语法的使用了 bean对象: public class Person { private int id; private String name; private String number; } 数据库的创建以及表的创建: package com.example.db; import android.

数据库开发基础-SQl Server 控制数据库的服务+数据库的创建与管理(增删改查)

控制数据库的服务: 方法一: 1.Windows+R 打开运行  打开cmd 2.输入net start MSSQLserver 启动数据库服务 输入net stop MSSQLserver 关闭数据库服务 输入net pause MSSQLserver 暂停数据库服务 输入net continue MSSQLserver 继续数据库服务 数据库的创建与管理(增删改查): 打开SQL Server 2008 方法二: 1.打开控制面板→管理工具→服务 2.右键进行选择 数据库的创建与管理: 打开

微软Connect教程系列--自动生成增删改查页面工具介绍(二)

本章课程描述了vs2015的三个特点,其中主要将描述在vs2015下面,使用命令自动生成增删改查界面,具体如下: 1.web.config文件不在存在,用config.json替代,以适应支撑vs的插件化. 即config.json可以在项目中不存在,你可以用xml文件或其他方式创建数据库连接. 2.获取nuget包更便捷 打开project.json,在dependencies节点输入“Newtonsoft.json”,并选择好相应版本,保存后,vs的引用就会自动从nuget上下载newton

.net core +mysqlSugar(最为简单的增删改查)

首先建立.net Core API - empty 这个就不说了 然后创建新的Controller 记得添加路由 [Route("api/Users")] 然后在Nuget Packages安装 所需安装包 这里是用mysql所以下载如下的mysqlSugarCore (切记不要忘记安装Mysql.Data) 创建实例化class文件DbText.cs 用于连接数据库,初始化 private DbText() { } public static string ConnectionStr

orm的增删改查

字段的增删改查 orm增加字段 phone=models.CharField(max_length=64,default='120') 后来添加的字段需要设置默认值 orm删除字段 注释掉字段,执行数据库迁移命令(慎重) 修改字段 直接修改字段,执行数据库迁移命令 记录的增删改查 单表查询 res = models.User.objects.all() 返回值是一个对象列表 删除记录 res = models.User.objects.filter(id=id).delete() 新增记录 方式