歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix教程 >> 使用Unix命令行模式高效地進行文本編輯

使用Unix命令行模式高效地進行文本編輯

日期:2017/2/27 17:39:54   编辑:Unix教程
unix命令

簡單研究一下可節省時間和精力的一些基本命令行文本編輯程序。文本編輯操作通常在文本編輯器應用程序中交互式地進行。然而,有些任務可以直接從 UNIX® 命令行方便快捷地完成。此外,還可以在腳本中使用這些單命令行程序來自動化各種編輯過程。

大多數 UNIX® 開發人員都選擇 Emacs、vi 或這兩個文本編輯應用程序的眾多變種、分支和克隆之一。操作員通常在所選的文本編輯器中打開文件,並交互式地對文件指定和應用更改。

但是與在文本編輯器中打開文件相比,您通常可以在命令行更快地完成編輯工作。復雜的編輯過程可以從命令行進行編程和指定,並跨多個文件執行,從而消除所有不必要的屏幕顯示、光標移動和與文件的人工交互。一種很好的策略是在手邊保留一些相關的命令行程序,以完成常見的編輯工作。它們不僅可以為您節省時間(尤其是在涉及到多個文件的批處理操作中),而且您還可以在腳本中使用它們。

用於編輯和處理文本的單命令行程序是 Perl 和 AWK(以及最近的 Ruby)語言(當然還包括 Shell)中有名的傳統功能。本文使用在所有系統上都隨時可用的三個最主要的命令行編輯工具來演示基本的文本編輯技術:cat、ed 和 sed。下面的編輯示例首先從最簡單和最常見的構造開始,並逐步過渡到較復雜的構造。

使用 cat 進行編輯

使用 cat(其名稱表示“連接”)來連接文件和標准輸入流,如清單 1 所示。世界上的懶鬼們還將它用作通用分頁程序 (cat file) 和完整的文本編輯環境 (cat > file)。其語法的簡單性無與倫比,而且對於文本編輯單命令行程序,它還為您提供了無需編輯器即可追加或插入文本的快捷方法。

清單 1. 使用 cat 來連接文件和標准輸入流

$ (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 和編輯模式。)

Copyright © Linux教程網 All Rights Reserved