使用Unix命令行模式高效地进行文本编辑

http://tech.ddvip.com   2007年08月29日    社区交流

内容摘要:大多数 UNIX® 开发人员都选择 Emacs、vi 或这两个文本编辑应用程序的众多变种、分支和克隆之一。操作员通常在所选的文本编辑器中打开文件,并交互式地对文件指定和应用更改。

  number 此选项对第 number 行寻址。可以按逗号分隔的范围 (first,last) 对行寻址。0 代表缓冲区的开头(第一行之前)。

  -number 此选项对当前行之前的第 number 行寻址。如果没有 number,则减号对紧跟在当前行之前的行寻址。

  +number 此选项对当前行之后的第 number 行寻址。如果没有 number,则加号对紧跟在当前行之后的行寻址。

  $ 此选项对最后一行寻址。

  , 此选项对第一至最后一行寻址,包括第一行和最后一行(与 1,$ 相同)。

  ; 此选项对当前行至最后一行寻址。

  /pattern/ 此选项对下一个包含与 pattern 匹配的文本的行寻址。

  ?pattern? 此选项对上一个包含与 pattern 匹配的文本的行寻址。

  表 3. 主要的 ed 命令

  命令 描述

  a 此命令在指定的地址之后追加文本。

  c 此命令将指定的地址更改为给定的文本。

  d 此命令删除指定地址处的行。

  i 此命令在指定的地址之前插入文本。

  q 此命令在将缓冲区保存到磁盘后终止程序并退出。

  r file 此命令读取 filespec 的内容并将其插入指定的地址之后。

  s/pattern/replacement/ 此命令将匹配 pattern 的文本替换为指定地址中的 replacement 文本。

  w file 此命令将指定的地址写到 file。如果没有 address,则此命令缺省使用整个缓冲区。

  在文件开头插入文本,第二部分

  通过可在脚本中使用的 ed 单命令行程序,您可以容易地在文件开头插入文本。插入操作是使用 ed 并通过 a 命令将给定文本追加到第 0 行(文件开头)来完成的:

  $ cat file

  This is the end.

  $ (echo '0a'; echo 'This is the beginning.'; echo '.'; echo 'wq') | ed -s file

责编:豆豆技术应用

正在加载评论...