首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux基础>常用命令>正文

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

http://www.oklinux.cn  2007-08-29  赛迪网 korn  会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

简单研究一下可节省时间和精力的一些基本命令行文本编辑程序。文本编辑操作通常在文本编辑器应用程序中交互式地进行。然而,有些任务可以直接从 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 和编辑模式。)

 

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

 

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

 

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

 

$ cat footnotes.txt >> file

 

 

如果您仅追加单行而不是多行或整个文件,您可以使用 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

 

$

 

 

在文件开头插入文本

共4页: 上一页 1 [2] [3] [4] 下一页

上一篇:Windows分区在Linux下自动挂载及字符集设置   下一篇:Linux系统的文件结构详细讲解

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Linux系统下MV命令的使用方法详细说明
·Linux系统下VI编辑器常用命令详细介绍
·Linux系统中排序命令Sort的使用方法
·Ubuntu Linux系统下Apt-get命令参数
·Linux操作系统下的dd命令技巧
·Linux操作系统下关于Top命令的参数详解
·Scp命令在Linux系统之间Copy文件的方法
·Linux系统下Route命令详细使用说明
·Linux下网络通信命令的详细介绍
·Samba服务配置文件中所涉及到的配置命令
·Linux系统管理员秘技:快捷命令一招制胜
·用Linux系统下的DD命令简单破解加密软盘
·Linux操作系统中利用PR命令进行文档打印
·Linux操作系统打包命令的技巧
·新手从零开始:Linux系统命令的使用
·Linux外置存储介质挂载方法
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Linux操作系统Ubuntu的apt命令学习
·巧用find解决在目录查找特定字符串
·Ubuntu Linux常用命令集锦
·使用 alias 来简化命令行输入
·sssh - 快速 ssh 登陆脚本
·10 个实用的 Bash alias
·Linux下Wine中文对话框字体乱码解决方
·修复Linux、Windows双系统中损坏的Grub
·测试Linux平台Inode使用情况的过程命令
·Linux系统下比较两个文件并删除相同部
·Shell基础学习:关于Wget命令的使用技
·Vim编译器配合ctags实现函数原型快速定
  阅读排行
·Linux系统下VI编辑器常用命令详细介绍
·Linux下Configure命令参数解释说明
·Linux VI命令使用技巧集锦
·Linux Find命令常见的使用方法
·Linux/Ubuntu tar命令详解使用格式和方
· date命令详解及ntp时间同步
·在Linux操作系统中Echo的用法
·Linux/Ubuntu ls命令详解使用格式和方
·Linux系统下ifconfig命令使用及结果分
·Linux系统下Source命令的使用
·Scp命令在Linux系统之间Copy文件的方法
· Linux下如何删除非空目录
·Linux/Ubuntu sudo命令详解使用格式和
·ps命令常用用法
·Linux系统下Route命令详细使用说明
网摘收藏: