4.13 q
      
函数参数 q 表示跳离 sed 。其指令格式如下: 
     [address1] q 
对上述格式有下面几点说明 : 
函数参数 q 最多配合一个地址参数。  sed 执行跳离动作时 , 它停止输入 pattern space 数据 , 同时停止数据送到标准输出文件。  范例 :  题目: 对文件文件执行 script_file 内的编辑指令 , 除非遇到 "Linux" 字符串。  说明: 无论 script_file 内是何种指令 , 使用者只要在命令列上用指令/Linux/q , 函数参数 q 会强迫 sed 遇到 "Linux" 时做跳离动作。  sed 命令列如下 :  sed -e '/Linux/q' -f script_file  input.dat
4.14 =
      
函数参数 = 表示印出资料的行数。其指令格式如下: 
     [address1 ,[address2]] = 
对上述格式有下面几点说明 : 
函数参数 = 最多配合两个地址参数。  执行时 , 行数将在数据输出前先输出。  范例 :  题目: 印出 input.dat 文件内资料行数。假设 input.dat 的内容如下 :  The UNIX Operating System
说明 : 用函数参数 = 来印出资料的行数。  sed 命令列如下 :  sed -e '=' input.dat
执行上述命令后 , 输出的结果如下 :  1 The UNIX 2 Operating System
4.15 #
      
在 script file 内 , 函数参数 # 后的文字为注解。当注解文字超过多行时 , 其行间须以 "\" 换行字符相隔。
4.16 N
      
函数参数 N 表示添加下一笔资料在 pattern space 内。其指令格式如下: 
     [address1 ,[address2]] N 
对上述格式有下面几点说明 : 
函数参数 N 最多配合两个地址参数。  sed 执行时 , 将下一行数据读入并添加在 pattern space 内 , 数据行间以换行字符(embedded newline character)分隔。此外 , 在替换时 , 换行字符可用 \n 来 match。  范例 :  题目: 将下述两行数据合并。假设 input.dat 的内容如下 :  The UNIX Operating System
说明 : 先利用函数参数 N 将两行数据置于 pattern space 内 , 在利用函数参数 s/\n/ / 将两行数据间的分隔号 \n 以空白替代 , 如此两行数据变成一行输出。  sed 命令列如下 :  sed -e 'N' -e 's/\n/ /' input.dat
执行上述命令后 , 其输出的结果如下:  The UNIX Operating System
4.17 D
      
函数参数 D 表示删除 pattern space 内的第一行资料。其指令格式如下: 
     [address1,address2]D
对上述格式有下面几点说明 : 
函数参数 D 最多配合两个地址参数。  函数参数 D 与 d 的比较如下 :  当 pattern space 内只有一数据行时 , D 与 d 作用相同。  当 pattern space 内有多行资料行时  D 表示只删除 pattern space 内第一行资料  d 则全删除。  D 表示执行删除后 , pattern space 内不添加下一笔数据 , 而将剩下的数据重新执行 sed script  d 则读入下一行后执行 sed script。  范例 : 参考 section 3.3 的第二个例子。 
4.18 P
      
函数参数 P 表示印出 pattern space 内的第一行资料。其指令格式如下: 
     [address1,address2] P 
对上述格式有下面几点说明 : 
函数参数 P 最多配合两个地址参数。  P 与 p , 除了面对的 pattern space 内的数据行数不同外 , 其它均相同。  范例(可与[section4.12]中的范例):  题目 : 输出 input.dat 文件内奇数行资料。假设 input.dat 档内容如下:  The UNIX System
说明: 在命令列上  以选项 -n , 将数据输出的控制权(参照[section2.5])转给指令。  利用函数参数 N 将偶数行添加至 pattern space 内奇数行后。  利用函数参数 P 将 pattern space 内的第一行(奇数行)输出。  在奇数行输出后 , pattern space 内剩下的数据行(偶数行)则被放弃输出。最后 , 整个输出只有原先的奇数行数据。  sed 命令列 :  sed -n -e 'N' -e 'P' infro.dat
执行上述命令后 , 输出的结果如下 :  The System
4.19 h
      
函数参数 h 表示暂存 pattern space 的资料至 hold space。其指令格式如下: 
     [address1 ,[address2]] h 
对上述格式有下面几点说明 : 
函数参数 h 最多配合两个地址参数。  sed 执行暂存动作时 , 会盖掉(overwrite) hold space 内原来的数据。  当 sed 全部执行结束时 , hold space 内数据会自动清除。  范例 :参考 section 3.4 的例子。 
4.20 H
      
函数参数 H 与 h 唯一差别是 , sed 执行 h 时 , 数据盖掉(overwrite) hold space 内原来的数据 , 而 H , 数据则是 "添加(append)" 在 hold space 原来数据后。例题请参考 section 3.2 之例一。 
4.21 g
      
   函数参数 g 表示与函数参数 h 相反的动作 , 它表示将 hold space 内资料放回 pattern space 内。其指令格式如下 : 
     [address1,address2]g
函数参数 g 最多配合两个地址参数。  sed 执行放回动作时 , 数据盖掉(overwrite)(批注[13]) pattern space 内原来的数据。  例题 :参考 section 3.4 的例子。 
(本文已被浏览 6204 次)
|
|