文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Sed 备忘

Sed 备忘

时间:2006-02-17  来源:lvjinhua

小小流编辑器一个,却代表了超强的威力。
GNU Sed 4.1.4

   它分开“模式空间”与“保持空间”,平时主要在“模式空间”操作,“保持空间”相当于一个临时备份。
   Sed 的任何操作均不会覆盖源文件,因为它将操作对象拷贝到了“模式空间”中。
语法:
    sed [-n] [-e] 'command' file(s)
    sed [-n] -f scriptfile file(s)
 -n 项禁止默认输出,只显示由p命令或s命令中的p标志指定的行。
 -e cmd 指示下一个参数是个编辑命令。
 -f file 指示下一个参数是个包含sed脚本的文件。
 -i[SUFFIX] 将改动写回文件,加[SUFFIX]则备份文件。
在UNIX中假如脚本的第一行是#n,则有 -n 相同的效果(即无默认输出)

sed的命令语法: [addr[,addr]][!]command[arguments]
由addr指令标明要编辑的行,! 号指出编辑除addr标明以外的行,command是编辑指令。

例子: ( '/' can replaced by '@' or '|' )
sed -e 'y/12345/abcde/' file 将File中所有1换为a,2换为b,...
sed -e 's/xx/yy/g' file  将File中所有的xx替换为yy。
sed -e '/TODO/s/xx/yy/g' file 将包含TODO那行中所有xx替换为yy。
sed -n -e '/^BEGIN/,/^END/p' file 只输出BEGIN及END之间的内容。
sed -e '/SAVE/!d  删除不包含SAVE标志的所有行。
sed -e '/BEGIN/,/END/!s/xx,yy/g' 在所有行上将xx替换为yy,除了BEGIN及END之间的。
sed -n -e '/TODO/{
s/"/(/3
s/"/)/3
}' file   利用{}将多个命令放在一起,在此为,对于含有TODO的行,先将此行中的第3个(“)号替换为左括号,完后在剩余引号中再将第3个引号换为右括号号。如 果File中有一行为:"""abc""""",则命令完后变为:""(abc)""""。
sed -e 's/\<abc\>/csdn/g' file  将File中所有独立单词 abc 用 csdn 替换。
sed -e 's/.*TODO/# &/' file 添加#号到所有包含TODO的行。
sed -e '/TODO/i\text' file  在TODO上头插入串text
sed -e '/TODO/a\text' file  在TODO下头插入串text
sed -e '/TODO/c\text' file  将text代替包含TODO的行
sed -e '/^$/d' file 删除所有只包含换行符的行
sed -e '/^[ \t]*$/d' file  删除只包含空格,回车及Tab键的行
sed -e 's|abc|bbc|; s|ccc|bbb|' file  同时执行两个替换命令
相关阅读 更多 +
排行榜 更多 +
试着飞手游下载

试着飞手游下载

休闲益智 下载
血染小镇(功能菜单)中文版下载

血染小镇(功能菜单)中文版下载

飞行射击 下载
泰坦之旅高爆版下载

泰坦之旅高爆版下载

角色扮演 下载