- 论坛徽章:
- 2
|
回复 1# Estwind
你可以先创建一个名为"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中的r命令会把其后面的任何字符判读为文件名,直到回车符或是单引号,一般对r命令的写法有下面的几种:- sed '/pattern/{r file1
- other cmd
- }' file # 因为这里里面使用了{},所以可以添加其它命令
- sed '/pattern/ r file1 ' file
- sed -e '/pattern/{r file1' -e 'other cmd}' file # 这里使用-e,相当于第一种用法
复制代码 |
|