这三个sed命令到底有什么不同
时间:2011-06-10
来源:互联网
第一个直接报错;第二个没有输出r b的内容;第三个是想要的结果。
诡异的是用sedsed -d看第二个和第三个输出内容完全是一样的
复制代码
诡异的是用sedsed -d看第二个和第三个输出内容完全是一样的
- # cat a
- 123
- 124
- dcd
- 125
-
- # cat b
- __aa
- __bb
- __cc
-
- # sed '/dcd/{r b;N}' a
- sed: -e expression #1, char 0: unmatched `{'
-
- # sed '/dcd/{r b;
- N}' a
- 123
- 124
- dcd
- 125
-
- # sed '/dcd/{r b
- ;N}' a
- 123
- 124
- __aa
- __bb
- __cc
- dcd
- 125
作者: Estwind 发布时间: 2011-06-10
回复 Estwind
你可以先创建一个名为"bb;"的文件,执行下面的,可以帮助你理解
复制代码
总结一下,sed中的r命令会把其后面的任何字符判读为文件名,直到回车符或是单引号,一般对r命令的写法有下面的几种:
复制代码
你可以先创建一个名为"bb;"的文件,执行下面的,可以帮助你理解
- cat bb;
- __aa
- __bb
- __cc
-
- sed '/dcd/r bb;' aa
- 123
- 124
- dcd
- __aa
- __bb
- __cc
- 125
-
- sed '/dcd/r bb' aa
- 123
- 124
- __aa
- __bb
- __cc
- dcd
- 125
-
- sed '/dcd/{r bb;}' aa
- sed: -e expression #1, char 0: unmatched `{' #显然这个是对"{}"的错误用法,应该是下面的
-
- sed '/dcd/{r bb;
- }' aa
- 123
- 124
- dcd
- __aa
- __bb
- __cc
- 125
- sed '/pattern/{r file1
- other cmd
- }' file # 因为这里里面使用了{},所以可以添加其它命令
-
-
- sed '/pattern/ r file1 ' file
-
- sed -e '/pattern/{r file1' -e 'other cmd}' file # 这里使用-e,相当于第一种用法
作者: yinyuemi 发布时间: 2011-06-11
回复 yinyuemi
学习了

作者: zzy7186 发布时间: 2011-06-11
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28