- 浏览: 383005 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (196)
- window编程 (18)
- FLEX (37)
- 数据库 (5)
- Java---Struts2 (8)
- Window相关知识 (4)
- 网站建设相关知识 (2)
- java基础知识 (6)
- C# (8)
- 虚拟化 (3)
- 服务器--sound server (1)
- 网络协议 (5)
- Linux (21)
- linux-命令 (3)
- Windows-2008R2 (1)
- VBScript,异常处理 (1)
- windows域 (1)
- 弦歌不辍 (1)
- 语言---c++ (16)
- MFS (1)
- grub (1)
- 技术介绍 (3)
- 百度之星 (5)
- Web服务 (1)
- 存储管理 (2)
- NoSQL (3)
- plymouth (1)
- 工具 (1)
- 云计算 (1)
- 嵌入式 (1)
- usbip (1)
最新评论
-
canghailan:
C++中能直接操作的最大位数64,每64位统计,最后相加,暂时 ...
判断一段内存是否全部为0 -
yiranwuqing:
canghailan 写道Hamming weight 算法应 ...
判断一段内存是否全部为0 -
canghailan:
Hamming weight 算法应该效率更高
判断一段内存是否全部为0 -
zoufangyingzi:
楼主都用了哪些jar包,压缩包中没有lib包///
Rest实例演示 -
zpz112358:
具体是什么意思啊?
flex blazed 配置多个remoting-config
sed 是一种UNIX/LINUX 平台下的轻量级流编辑器,日常一般用于处理文本文件。sed 有许多很好的特性。首先,它相当小巧;其次, sed 可以配合强大的 shell 完成许多复杂的功能。在我看来,sed完全可以看成一个脚本解释器,用类似于编程的手段完成许多事情。
sed简单示例
sed命令的格式是
sed [-options] [command] [stdin]
比如这个例子
$ sed –e ‘d’ ./Mydir/Myfile
执行该命令,将得不到任何输出。在该例中,用一个编辑命令 'd' 调用 sed;sed 打开 ./Mydir/Myfile 将一行读入其模式缓冲区,执行’d’(“删除行”);然后打印模式缓冲区(缓冲区已为空);它对后面的每一行重复这些步骤,这不会产生输出!
对这个命令要说明的几点是:首先,它根本没有修改 ./Mydir/Myfile。这是因为 sed 是流处理器,它只读取在命令行指定的文件,它不试图修改该文件。其次, sed 是面向行的,'d' 命令不是简单地告诉 sed 一下子删除所有输入数据;相反,sed 逐行将 ./Mydir/Myfile 的每一行读入其称为模式缓冲区的内部缓冲区,一旦将一行读入模式缓冲区,它就执行 'd' 命令,然后打印模式缓冲区的内容。最后要注意的事是括起 'd' 命令的单引号的用法,这样可以禁用 shell 扩展。
指定sed的作用范围
看下面的三个例子
$ sed –e ‘1d’ ./Mydir/Myfile
$ sed –e ‘1,10d’ ./Mydir/Myfile
$ sed –e ‘/begin/,/end/p’ ./Mydir/Myfile
第一个例子说明只删除./Mydir/Myfile第一行的缓冲,第二个例子将删除第1~10行的缓冲。第三个例子最复杂,它定义了以字符串’begin’开始到’end’结束的作用范围
sed中的正则表达式
sed支持正则表达式,比如
$ sed –n -e ‘/regexp/p’ ./Mydir/Myfile
比如要删除所有的空行
$ sed –e ‘/^$/d’ ./Mydir/Myfile
sed中的一些特殊定义是
规则 表达式 描述
/./ 将与包含至少一个字符的任何行匹配
/../ 将与包含至少两个字符的任何行匹配
/^#/ 将与以 '#' 开始的任何行匹配
/^$/ 将与所有空行匹配
/}^/ 将与以 '}'(无空格)结束的任何行匹配
/} *^/ 将与以 '}' 后面跟有 零或多个空格结束的任何行匹配
/[abc]/ 将与包含小写 'a'、'b' 或 'c' 的任何行匹配
/^[abc]/ 将与以 'a'、'b' 或 'c' 开始的任何行匹配
再比如一个经典的例子,打印c源代码中的main函数内容,其命令可以写成如下
$ sed –n –e ‘/main[[:space]]*(/,/^}/p’ ./Mydir/*.c
其中[:space]表示空格,[[:space]]*表示有0~多个空格,所以main[[:space]]*(的意思是匹配“main (”字符串;“^}”表示这一行有且只有一个字符}。当然,上面的命令不是十分严谨。
sed –e ‘s/regexp/repalcement’ file
替换是sed命令中最常用的命令,比如如下的例子
$ sed –e ‘s/a/b’ ./Mydir/Myfile
$ sed –e ‘s/a/b/g’ ./Mydir/Myfile
第一个命令将./Mydir/Myfile中每一行第一次出现的字符a替换成字符b;第二个命令由于加入了’/g’,表示是全局(全部)替换字符a成字符b。
经常还可以看见如下两种形式的sed
$ sed –e ‘1,10s/a/b’ ./Mydir/Myfile
$ sed –e ‘/^$/,/^END/s/a/b/g’ ./Mydir/Myfile
第一个命令是指替换1~10行;第二个命令是指全局替换从空行开始到以END开始的行中的内容。
替换命令不一定非要以/分隔,比如
$ sed –e ‘s:usr/local:/usr:g’ ./Mydir/Myfile
就是将./Mydir/Myfile中的usr/local全部替换成/usr
要用好替换命令,当然要使用正则表达式,除了上面所说的表达式的例子,还有一些是非常有用的
字符类 描述
[:alnum:] 字母数字 [a-z A-Z 0-9]
[:alpha:] 字母 [a-z A-Z]
[:blank:] 空格或制表键
[:cntrl:] 任何控制字符
[:digit:] 数字 [0-9]
[:graph:] 任何可视字符(无空格)
[:lower:] 小写 [a-z]
[:print:] 非控制字符
[:punct:] 标点字符
[:space:] 空格
[:upper:] 大写 [A-Z]
[:xdigit:] 十六进制数字 [0-9 a-f A-F]
比如下面这个例子
$ sed –e ‘s/<[^>]*>//g’ ./Mydir/Myfile
< [^>]*>匹配<…>这样的字符串(…中不含>)。运行这个命令,能够将 “<b>This</b> is what <b>I</b> meant.”这样的字符串替换成“This is what I meant.”
考察如下的命令
$ sed -e 's/.*/# &/' ./Mydir/Myfile
这个命令将所有的非空行以“#”注释掉——&告诉sed在行首插入字符。
‘s///’允许我们在规则表达式中定义区域,然后可以在替换字符串中引用这些特定区域。这些区域是以(和)隔开的。
比如定义三个匹配非空字符的区域'(.*) (.*) (.*)',现在可以定义这三个区域的动作,比如
$ sed -e 's/(.*) (.*) (.*)/PreFix 1-2 Fix 3/' ./Mydir/Myfile
假如把三个区域分别命名为a、b、c,则最后结果是 PreFix a-b Fix c
sed中组合命令
sed中的命令可以组合,以;号隔开,比如
$ sed –n –e ‘=;p’ ./Mydir/Myfile
=表示打印行号,p表示打印。对于更复杂的指令,则可以写成命令脚本,然后用-f选项导入,比如
$ sed –n –f MyScript.sed ./Mydir/Myfile
对于同一个地址上的操作,则可以用{}组合,比如
$ sed –n ‘1,20{ s/samba/Samba/g s/posix/POSIX/g }’ ./Mydir/Myfile
sed中的行附加命令
在当前行之前插入行“i”,如果要插入多行,则将多行用分隔
在当前行之后插入行“a”,用法和上面相似
更改当前行“c”
-- The End --
转自:http://space.itpub.net/519536/viewspace-558364
发表评论
-
linux 音频驱动介绍(alas和oss的联系)
2013-04-01 16:11 3734由于Linux系统是一个开源系统,所以Linux ... -
ubuntu 编译内核模块过程
2013-01-09 10:49 25331、下载内核源文件 sudo apt-cache sear ... -
ubuntu 常用命令
2012-08-16 09:03 8051、查看dd 进度 执行dd命令, dd if ... -
plymouth介绍,并制作主题
2012-05-17 11:33 1412Quick tips for those having tro ... -
学习Linux文件系统(网页整理)
2012-04-01 02:00 1129查看ext3文件系统分区的superblock http: ... -
Gnome的使用总结
2012-03-16 22:45 665在panel添加自定义程序 http://www.boya. ... -
Linux查看系统信息的一些命令及查看已安装软件包的命令
2012-03-15 16:55 651系统 # uname -a # ... -
shell 常用的技巧
2012-03-15 15:42 660声明:一般都是使用bash没有测试是否与其他shell兼容 ... -
gtk-config确实问题的解决
2012-03-11 21:31 1037gtk1.1时代使用gtk-config来配置的 g ... -
insmod 时出现的错误
2012-03-08 16:24 3635情况1. 从另外一个版本中为了测试模块拷贝到本系统中 现 ... -
linux下编程需要学习的库
2012-02-20 22:16 964三、库的学习 无论 ... -
Mysql 重置密码方法
2011-12-22 17:42 659假设说mysql安装在/usr/local/mysql ... -
100个常见的linux守护进程
2011-12-21 09:58 9961.alsasound:Alsa声卡驱动守护程序。Alsa声卡 ... -
关于linux的段错误(Segmentation fault)
2011-11-21 11:54 11981.Segmentation fault这个字 ... -
(转)Linux音频分析(现有的几种架构)
2011-10-13 09:42 4845Linux音频系统存在一个 ... -
Hadoop】集群之外的机器如何连接到集群并与HDFS交互,提交作业给Hadoop集群
2011-04-04 16:18 1862集群以外的机器如何访问Hadoop集群,并像集群中提交作业和传 ... -
Linux开机启动过程分析(转)
2011-03-06 21:27 1111开机过程指的是从打开计算机电源直到LINUX显示用户登录画 ... -
[精华]跟我一起写 Makefile[2]
2011-02-19 19:41 1027隐含规则 ———— 在我们使用Makefile时,有一些我们 ... -
[精华] 跟我一起写 Makefile[1]
2011-02-19 19:40 1752晕,一篇文章放不下, ... -
[精华]跟我一起写 Makefile
2011-02-19 19:37 962一好人整理了这篇文章pdf格式的,链接如下: http://b ...
相关推荐
sed使用方法 sed使用方法详解sed使用方法详解sed使用方法详解
Sed(Stream EDitor)为 UNIX 系统上提供将编辑工作自动化的编辑器 , 使用者无需直接编辑资料。使用者可 利用 sed 所提供 20 多种不同的函数参数 , 组合(解 [1])它们完成不同的编辑动作。此外 , 由於 sed 都 以...
Table of Contents 1. Sed简介 2. 定址 3. Sed命令 4. 选项 5. 元字符集 6. 实例 7. 脚本 8. 小技巧 1. Sed简介
linux shell sed 使用详解 整理的很好。很不错的资源。写脚本全靠这个了。
sedsed工具。可以使用sedsed -d +sed命令进行sedsed的测试。 将文件拷贝到/usr/bin路径下即可,也可以在linux本地使用./sedsed -d +command
在处理庞大数据量时,善用Linux三剑客sed grep awk能省下不少劲。文档例子仅供参考学习!
1、亲测完美兼容64 2、使用简单 3、示例:"C:\Program Files (x86)\GnuWin32\bin\sed.exe" -i s/"hello world"/"how old are you"/g .\test\a.txt
sed新手使用进阶全功略 sed新手使用进阶全功略
a very good linux sed manu.
linux 系统 sed 命令使用方法linux 系统 sed 命令使用方法linux 系统 linux 系统 sed 命令使用方法linux 系统 sed 命令使用方法sed 命令使用方法
sed 用法sed 用法sed 用法sed 用法sed 用法
gnu sed 使用手册 英文版 sed 是一个流式文本编辑器
主要讲述linux的sed功能使用,sed的各种命令和功能的使用,仅供参考。
sed和awk使用的几个经典实例,都是比较典型的,可能经常会用到
linux shell命令sed的使用方法
包括sed-4.2.1-setup.exe、sed-4.2.1-dep.zip、sed-4.2.1-bin.zip
prompt$ sedsed --help usage: sedsed OPTION [-e sedscript] [-f sedscriptfile] [inputfile] OPTIONS: -f, --file add file contents to the commands to be parsed -e, --expression add the script to the ...
linux命令中Sed各种使用方式
使用SED1335控制器LCD320240液晶资料,希望对大家有帮助
SED 手册 1.Introduction 1.1 何时使用 sed 1.2 何处获得 sed 2.1 执行命令列上的编辑指令 2.2 sed 编辑指令 2.3 执行档案内的编辑指令 2.4 执行多个档案的编辑 2.5 执行 sed 输出控制