在sed中,使用由分号分隔的多个命令是相当常见的:
$ sed -e '/re/{s//replace/p; q;}
但是,标准(例如http://pubs.opengroup.org/onlinepubs/9699919799/)仅允许换行符作为分隔符:
$ sed -e '/re/{ s//replace/p q }
是否仍有许多常见的sed实现仍在使用,不允许使用分号?IOW,一个打算便携的sed脚本可以使用分号吗?
从POSIX规范sed
:
比其他命令动词{,一个,b,c ^,我,- [R ,吨,瓦特,:,和#之后可以进行一个
<semicolon>
,可选<blank>
字符和另一个命令动词.但是,当s命令动词与w标志一起使用时,以这种方式使用另一个命令跟随它会产生未定义的结果.
因此,除了上面提到的那些命令之外,大多数命令都可以用分号分隔.
/[^\{abcirtw:#];[[:space:]]*/
:-)
归档时间: |
|
查看次数: |
2411 次 |
最近记录: |