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,相当于第一种用法
其他的例如:
sed '/aa/r file2;' file1
如果/aa/匹配r命令读取的是"file2;"的内容,而不是"file2"的内容,当前没有名为"file1;"的文件;
sed '/aa/{r file2}' file1
也是错误的,提示sed: -e expression #1, char 0: unmatched `{'即 r命令认为"file2}"是文件名