Unix sed编辑器如何读写文件操作
发布:smiling 来源: PHP粉丝网 添加日期:2015-04-22 13:27:37 浏览: 评论:0
上篇我们讲了如何用Unix sed编辑器替换文件内容,本教程我们来讲讲用sed如何读写文件操作,还有如何将一个文件部份内容写入到另外一个文件里去,本文将展示如何将文件内容读入到sed输出,同时包含如何将一个文件的部分内容写入到另一文件.
一.文件读取
假定有两个文件,file1和file2,内容分别如下:
- $ cat file1
- 1apple
- 1banana
- 1mango
- $ cat file2
- 2orange
- 2strawberry
sed有两个选项用来读写文件
r filename:读取filename指定的文件内容
w filename:将内容写入filename指定的文件
看例子:
1.在file1的每一行读完之后读取file2的内容:
- $ sed ‘r file2’ file1
- 1apple
- 2orange
- 2strawberry
- 1banana
- 2orange
- 2strawberry
- 1mango
- 2orange
- 2strawberry
r file2读取file2的所有内容,因此r之前没有知道那个行号或匹配,因此有了上面的输出,记住,sed的工作机制,每次读file1的一行,然后执行命令.
2.如何在读取了file1的第一行之后将file2读入.
- $ sed ‘1r file2’ file1
- 1apple
- 2orange
- 2strawberry
- 1banana
- 1mango
r前面加个1就行了.
3.当file1某行匹配了模式之后,读入file2.
- $ sed ‘/banana/r file2’ file1
- 1apple
- 1banana
- 2orange
- 2strawberry
- 1mango
sed逐行读入file1,然后判断该行是否匹配banana,如果匹配,就读入file2.
4.当file1读取完成后读入file2,其实就是合并两个文件.
- $ sed ‘$r file2’ file1
- 1apple
- 1banana
- 1mango
- 2orange
- 2strawberry
这里只是演示一下,其实cat file1 file2就可以完成合并.
二.文件写入
使用一个file1文件,内容如下:
- $ cat file1
- apple
- banana
- mango
- orange
- strawberry
1.将file1的2-4行写入到file2.
$ sed -n ‘2,4w file2’ file1
2,4w就是写2-4行的意思,那-n呢?默认情况下sed会把读入的文件处理的结果输出到标准输出,也就是终端,而为了不使用默认输出,-n就派上用场了,执行该命令终端不会有任何输出.
- $ cat file2
- banana
- mango
- orange
查看file2内容,发现已经写入成功了.
2.从第三行开始全部写入file2.
- $ sed -n ‘3,$w file2’ file1
- $ cat file2
- mango
- orange
- strawberry
就不多解释了.
3.如果是用正则呢?
- $ sed -n ‘/apple/,/mango/w file2’ file1
- $ cat file2
- apple
- banana
- mango --phpfensi.com
该命令将逐行读入file1,然后判断该行是否匹配apple,如果匹配,则作为起始行,然后继续读入,判断是否匹配mango,如果是,则作为终止行,然后将中间的内容写入到file2.
Tags: Unix sed编辑器 Unix读写文件
相关文章
- ·详解Unix和Linux操作系统中Cron的用法(2014-02-28)
- ·学习linux/unix编程方法的建议,学习Linux的四个步骤(2014-03-06)
- ·Linux shell学习之:unix/linux shell的发展历程(2014-03-07)
- ·UNIX和Linux Shell正则表达式语法介绍(2014-03-08)
- ·突破极限 解决大硬盘上安装Sco Unix新思路(2014-03-09)
- ·介绍UNIX系统的五种关机方法(2014-03-09)
- ·ODU在Linux和Unix平台下的使用(2014-03-11)
- ·Unix shell 使用 Bash 中的 globstart 选项使用教程(2015-04-21)
- ·Unix平台下如何卸载gdb调试工具?(2015-04-22)
- ·Unix sed流编辑器简介 带你入门sed(2015-04-22)
- ·Unix sed如何向文件中增加一行(2015-04-22)
- ·Unix sed编辑器如何替换文件内容(2015-04-22)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)