4.8 r
函数参数r表示读入它档案内容到档中。其指令格式如下
[address1]r 它档案名称
说明
函数参数r最多与一个地址参数配合
在指令中,函数参数r与它档名称间,只能有一空格
sed 执行读入动作的情况如下: 在pattern space 内数据输出后,sed读出它档的内容跟着输出。
当它档不存在时,sed照样执行其他指令而不会有任何错误讯息产生
4.9 w
函数参数w表示将档中的写到它档内。其指令格式如下:
[address1[,address2]]w 它档名称
说明
函数参数w最多与两个地址参数配合
在指令中,函数参数w与它档名称间,只能有一空格
sed执行写出动作的情况:将pattern space内资料写到它文件内。数据写入时,会
取代(overwrite)原来档案内的数据。另外,当它档不存在时,sed会重新产生(create)
它。
4.10 y
函数参数y表示转换数据中的字符。其指令格式如下
[address1[,address2]]y /xyz.../abc.../
说明:
函数参数最多配合两个地址参数
指令中,/abc.../xyz.../为y的argument。其中abc...与xyx...的字符个数必须相同
sed 执行转换时。将pattern space内数据内的a字符转换成x字符、b字符转换成y字符
c字符转换成z字符
将input.dat文件中的小写字母改成大写字母,假设inout.dat档案内容如下
Sodd's Second Law:
Sooner or later, the worst possible set of
circumstances is bound to occur.
说明:利用函数参数y指示sed做字母大小写转换
sed -e '
y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
' input.dat
SODD'S SECOND LAW:
SOONER OR LATER, THE WORST POSSIBLE SET OF
CIRCUMSTANCES IS BOUND TO OCCUR.
4.11 !
函数参数!表示不执行函数参数。当有如下命令
[address1[,address2]]! 函数参数
表示,对符合地址参数的数据不执行函数参数.如删除,除了含"1996"字符串,所有
数据行,则执行如下命令
sed -e '/1996/!d' input.dat
4.12 n
函数参数n表示读入下一行资料。其指令格式如下:
[address1[,address2]]n
函数参数n最多配合 两个地址参数
sed执行读入下一行动作的情况如下
输出在pattern space的数据
将下一笔资料读到pattern space
执行下一个编辑指令
输出input.dat文件内偶数行资料
The
UNIX
Operation
System
说明:
在命令列上以选项-n,将数据输出的控制权转给指令
利用函数参数n将下一行数据(偶数行)取代pattern space内的资料行(奇数行)。
利用函数参数p将pattern space内的数据(偶数行)输出
4.13 q
函数参数q表示跳离sed
[address1]q
说明
函数参数q最多配合一个地址参数
sed 执行跳离动作时,它停止输入pattern space数据,同时停止数据送到标准输出文件
对文件执行script_file内的编辑命令,除非遇到"Linux"字符串
说明
无论script_file内是何种命令,使用者只要在命令列上用指令/Linux/q,函数参数q
会强迫sed遇到"Linux"时退出跳离动作
sed -e '/Linux/q' -f script_file input.dat
4.14 =
函数参数=表示印出资料的行数。其指令格式如下
[address1[,address2]]=
说明
函数参数 = 最多配合两个地址参数
执行时,行数将在数据输出前先输出
印出input.dat文件内资料行数
The UNIX
Operating System
用函数参数=来印出资料的行数
sed -e '=' input.dat
阅读(1024) | 评论(0) | 转发(0) |