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

豆豆网   技术应用频道   2007年08月29日  【字号: 收藏本文

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

  如果您仅追加单行而不是多行或整个文件,您可以使用 echo 而不是 cat:

  $ echo "192.255.255.255 bigblue" >> /etc/hosts

  若要追加从 1 开始进行项目编号的文本行,可以使用 cat 的 -n 选项;这样将在各行前面附加行号(最多偏移五个空格字符)和一个制表符。添加 -b 选项可以禁止对空白行编号:

  $ cat -nb > file

  This line is numbered

  And so is this

  Another numbered line

  Ctrl-D

  $ cat file

  1 This line is numbered

  2 And so is this

  3 Another numbered line

  $

  在文件开头插入文本

  通过使用连字符 (-) 指定标准输入并写到一个新文件,您可以使用 cat 在文件开头插入文本:

  $ cat - file > newfile

  This is the beginning of the file

  And then the old file is inserted

  Below this line:

  Ctrl-D

  $

  虽然这个单命令行程序非常简单,但是它的缺点在于创建了一个新文件。如果您希望将文本插入原始文件,则必须进行的重命名将使得此单命令行程序成事不足败事有余。更好的方法是使用即将介绍的 ed。

  显示非打印字符

  cat 具有若干个有用的选项。其中一些选项控制它输出非打印字符的方式,例如制表符和控制字符。若要确定某个文件或某一组文本文件是否有嵌入的控制字符,可以使用这些选项。例如,如果某个文件具有尾随空格,您就可以使用这些选项:

  $ cat -vet input.txt

  This line has trailing blanks. $

  This line does not.$

  $

  这些选项随 UNIX 实现而异;表 1 提供了标准 IBM AIX® 操作系统的选项。

责编:豆豆技术应用

正在加载评论...