使用Unix命令行模式高效地进行文本编辑
http://tech.ddvip.com 2007年08月29日 社区交流
内容摘要:大多数 UNIX® 开发人员都选择 Emacs、vi 或这两个文本编辑应用程序的众多变种、分支和克隆之一。操作员通常在所选的文本编辑器中打开文件,并交互式地对文件指定和应用更改。
$ sed -i 's,/usr/local/websphere,/usr/websphere,' file
您还可以将包含某个模式的整个行替换为某些新文本:
$ sed -i 's/.*pattern.*/LINE DELETED/' file
编辑匹配的模式
回想一下在模式中将字符分组在一起的方括号示例,以及如何在替换文本中将它们视为普通字符。如果您希望在替换文本中包括字面匹配的模式,该怎么办呢?可以使用“和”号 (&) 来实现。此方法对于通过在匹配模式之前或之后放置文本来编辑匹配模式是非常有用的:
$ cat file
This is the beginning.
This is the middle.
This is the end.
$ sed 's/[Tt]h/>&>Thth>Thth>Thth
在匹配模式之后插入文本
使用 a 命令在给定的匹配模式后面添加一行文本:
$ sed -i '/pattern/a text' file
这并不替换与模式匹配的文本——它只是在第一个包含该模式的行后面添加文本。
在行开头插入文本
若要在每行开头插入文本,可以匹配脱字号元字符并提供要插入的文本。下面显示了如何向文件中的所有行添加电子邮件样式引用:
$ sed 's/^/> /' input.txt
> This line has trailing blanks.
> This line does not.
$
在行尾插入文本
同样的原理也适用于在每行结尾插入文本——匹配美元符号元字符并提供要插入的文本。下面演示了如何模拟 AIX cat 的 -vet 选项来标记尾随空格:
$ sed 's/$/$/' file
This line has trailing blanks. $
This line does not.$
$
删除文件中的行
责编:豆豆技术应用
- Linux/Unix 新闻
- Linux/Unix 入门
- Linux/Unix 命令
- Linux/Unix 安装
- Linux 嵌入式系统
- Linux/Unix 编程
- Linux/Unix 管理
- Linux/Unix 桌面
- Linux/Unix 内核
- Linux/Unix 软件
- SCO Unix
- NetBSD
- OpenBSD
- Redhat/Fedora Linux
- 手机
- Linux/Unix find 搜索命令
- Linux/Unix vi 命令
- Linux/Unix kde 桌面环境
- Linux/Unix GNOME 桌面环境
- Linux/Unix Make 命令
- Linux/Unix crontab 命令
- Linux/Unix ext3 文件系统
- Linux/Unix 文件系统详解
- Linux/Unix ADSL 拨号设置
- Linux/Unix GRUB 配置及应用
- Linux/Unix nfs配置
- Linux/Unix 硬件信息查看及管理
- Linux/Unix 优化
- Linux/Unix 交换分区Swap管理及应用
- Linux/Unix 用户管理
- Linux/Unix Ramdisk
- Linux/Unix 密码恢复管理
- Linux/Unix 文件删除恢复
- Linux/Unix fdisk分区
- Linux/Unix lvs负载均衡管理
- Linux/Unix root用户
- Linux/Unix 集群
- Linux/Unix 日志
- 更多Linux/Unix专题……