添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
瘦瘦的手链  ·  django —— Cannot add ...·  2 年前    · 
前些天备份使用mysqldump备份出的数据文件(insert形式),里面的内容没有use db_name这个语句,所以如果在脚本中执行,那么会提示no database selected,所以就想在里面添加一个use db_name的语句。但是因为数据文件太大,如果直接vim打开恐怕不行。所以想到sed,然后上网找了一下sed在指定行插入的命令,然而需要注意的是,这些命令虽然可以直接定位到行,但最终如果要文件内容被更新掉还是要花费一定的时间的,但是这样会比直接vim打开文件然后插入一行效率更高。
下面贴出具体的命令:
1.在指定行前插入一行
sed '2 ittt' -i a.txt # 在第2行前插入ttt,并且将结果更新到a.txt(如果不想将插入真正更新到文件,去掉后面的-i选项就可以)
2.在指定行后插入一行
sed '2 attt' -i a.txt #在第2行后插入ttt,并且将结果更新到a.txt(如果不想更新原文件,去掉-i)
3.在指定的多行前面插入
sed 'n,m ittt' -i a.txt #看得懂了吧
4.在指定的多行后面插入
sed 'n,m attt' -i a.txt #看得懂了吧

sed提供了功能太强大了,以后还需要好好学习它,好记性不如烂笔头哈~~

update 1:

又学习了一下sed常用命令,这篇举的例子不错 http://www.tsnc.edu.cn/default/tsnc_wgrj/doc/sed.htm#id2810348

发现sed真的是太灵活了,另外上面举的例子,-i表示更新到原文件,写在前面后后面都是一样的效果。 上面都是在指定行插入新行,在匹配的行前面(后面)插入新行的写法:sed '/test/i\ add a new line' -i a.txt(同理,sed '/test/a\ a new line' -i a.txt则是插入到匹配的行后面)

前些天备份使用mysqldump备份出的数据文件(insert形式),里面的内容没有use db_name这个语句,所以如果在脚本中执行,那么会提示no database selected,所以就想在里面添加一个use db_name的语句。但是因为数据文件太大,如果直接vim打开恐怕不行。所以想到sed,然后上网找了一下sed在指定行插入的命令,然而需要注意的是,这些命令虽然可以直接定位到行,但 -e[removed]或--expression=[removed] 以选项中 指定 的script来处理输入的文本文件。 -f[removed]或--file=[removed] 以选项中 指定 的script文件来处理输入的文本文件。 -h或--help 显示帮助。 -n或--quiet或--silent 仅显示script处理后的结果。 -V或--version 显示版本信息。 动作说明: a :新增, a 的后面可以接字串,而这些字串会在新的一 出现(目前的下一 )~ c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的 ! d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚; i : 插入 , i 的后面可以接字串,而这些字串会在新的一 出现(目前的上一 ); p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运 ~ s :取代,可以直接进 取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦! a 代表在定位的后一 插入 sed '1i 添加的内容' file #这是在第一 前添加字符串 sed '$i 添加的内容' file #这是在最后一 前添加字符串 sed '$a添加的内容' file #这是在最后一 后添加字符串
Linux sed 在某 前一 和后一 添加内容 linux的 sed 工具是十分强大的,能很容易的实现在某关键词的前一 或后一 增加内容。今天在批量修改tomcat的日志时就用到了该功能。 一、在某 的前一 或后一 添加内容 具休操作如下: #匹配 前加 sed -i '/allow 361way.com/i\allow www.361way.com' the.conf.file #匹配 ...
1. prepare ,然后将redo log持久化到磁盘 2. 如果前面prepare成功,那么再继续将事务日志持久化到binlog 3. 如果前面成功,那么在redo log里面写上一个commit记录 我在《Mysql 技术内部 Innodb存储引擎 第二版》,第341页中,看到,xa事物时,是先写二进制日志,再写redo log! 不知道谁正确 sed在指定行插入新行 richermen: 真棒,拜读了 Linux下tmpfs与ramfs的对比分析 狂奔的瓜皮: 您在前面说ramfs相当于把HHD换成RAM,据我了解这应该是ramdisk吧。后面又提到ramfs是“RAM->os page cache->应用”,这也应该是指ramdisk。ramfs和tmpfs都是使用page cache的,只是tmpfs还会用到swap。 浅析multi range read(MRR) & batch key access(BKA) & block nested loop(BNL) 杨四正的源码剖析课: 你这里说:“BKA(batch key access)主要是指在被join表上有索引可以利用,那么就在行提交给被join的表之前,对这些行按照索引字段进行排序” 其中的“按照索引字段进行排序”,这个索引字段指的是“被Join的表”上的有“可以利用的索引”的那个字段的吗? 望您不吝赐教!