Unix sed编辑器读写文件操作的方法
发布时间:2023-12-21 22:50:37 所属栏目:Unix 来源:DaWei
导读: 本教程我们来讲讲用sed如何读写文件操作,还有如何将一个文件部份内容写入到另外一个文件里去,本文将展示如何将文件内容读入到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 --Cuoxin.com 该命令将逐行读入file1,然后判断该行是否匹配apple,如果匹配,则作为起始行,然后继续读入,判断是否匹配mango,如果是,则作为终止行,然后将中间的内容写入到file2. (编辑:均轻资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐