sed命令中的r和w

上一篇 / 下一篇  2009-11-08 21:27:43 / 个人分类:shell脚本

先定义两个文件
test.txt:
abcwueij
jhkjlkabc
uiou
iiiiii
ppppabc

test1.txt
abc123

读入到指定文章 (r)
函数参数 r 表示读入它档案内容到文件中。其指令格式如下 :
sed -e '[address1] r test1'  test
对於上述格式有下面几点说明 :
函数参数 r 最多与一个位址参数配合。
在指令中 , 函数参数 r 与命令内的文件间只能有一空格,在命令内的r空格后全部算成文件名。
sed 执行读入动作的情况如下 : 在 pattern space 内资料输出後 , sed 读出它档的内容跟着输出。当test1不存在时 , sed 照样执行其它指令而不会有任何错误讯息产生。 命令的作用是把test1文件的所有行到文件test指定的地址位中;
如 sed -e '/abc/r test1.txt' test.txt test.txt输入如下:
abcwueij
abc123
jhkjlkabc
abc123
uiou
iiiiii
ppppabc
abc123

写入替换文件是有内容(w)
函数参数 w 表示将文件中的写到它档内。其指令格式如下 :
sed -e '[address1[ ,address2]] w test' test1; 
对於上述格式有下面几点说明 : 函数参数 w 最多与两个位址参数配合。
在指令中 , 函数参数 r 与命令内的文件间只能有一空格,在命令内的r空格后全部算成文件名。 
sed 执行写出动作的情况如 : 将 pattern space 内资料写到test内。资料写入时 , 会取代(overwrite)原来test的资料。作用是把test1中满足地址位的行写到test中,并替换test中所有的内容;
如 sed -e '/abc1/w test.txt' test1.txt 输出为
abc123 #命令执行后test.txt中的内容就为abc123,而test1.txt不变;


TAG: sed

 

评分:0

我来说两句

Open Toolbar