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

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

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

  $ (cat - input1 - input2 - input3 - input4) | mailx ted

  Ted,

  Take a look at these example files.

  This is the first file ...

  Ctrl-D

  This is the second file ...

  Ctrl-D

  This is the third file -- note the fourth paragraph below ...

  Ctrl-D

  And here's the last file ...

  Ctrl-D

  $

  将文本添加到文件结尾

  然而,懒鬼也是讲策略的。当您需要将文本追加到文件结尾时,再没有比使用 cat 更快的方法了:

  $ cat >> file

  > line

  > line

  > line

  Ctrl-D

  $

  当您在添加行时,按 Ctrl-U 可以删除当前行,按 Ctrl-Z 可以挂起该过程,按 Ctrl-C 可以中止所有操作。当您完成编辑时,可以在各行上按 Ctrl-D。(存在一些缺省的 Korn Shell 控制键,但它们适用于大多数 Shell 和编辑模式。)

  如果您正在输入的数据是从另一个窗口粘贴而来的 X 选择,则该单命令行程序通常更快速,因为您不必调用某个编辑器、打开目标文件、移动到文件末尾、粘贴选择、保存文件然后再退出编辑器。当您是在粘贴格式化或特殊格式化的文本,并且您希望保留该格式(因为某些文本编辑器和编辑模式在您粘贴 X 选择时会对其进行重新格式化)时,单命令行程序也会更有用。

  虽然此操作非常常见,是一项日常活动,但是您必须小心使用 shell 操作符来追加 重定向(>>) 而不是普通重定向操作符 (>);如果您错误地使用了后者,则会使用原本打算追加的文本改写文件的原有内容。

  若要将一个文件的全部内容追加到另一个文件结尾,您可以给出文件名:

  $ cat footnotes.txt >> file

责编:豆豆技术应用

正在加载评论...