1.文本处理工具Sed
Stream Editor 行编辑器
图1-1 sed帮助手册
用法:
sed [option]…'script' file…
常用选项:
-n:不输出模式空间内容的自动打印
-e:多点编辑
-f file:从指定文件读取编辑脚本
-r:支持扩展正则表达式
-i:原处编辑
地址定界:
1) 不给地址
2) 单地址
# 指定的行
/pattern/ 被此模式能匹配到的每一行
3) 地址范围
#,# 指定的两个数之间的行
#,+# 从第一数开始的#行数
/part1/,/part2/ part1和part2之间的行
#,/part1/ 从第一个数到part1之间的行
4) 步进
1~2 奇数行
2~2 偶数行
图1-2 sed命令使用
编辑命令:
d 删除模式空间匹配的行
p 显示模式空间中的内容
a \text 在行后追加文本,支持\n
i \text 在行前追加文本,支持\n
c \text 替换行为单行或多行文本
w file 保存模式匹配的行之指定的文件
r file 读取指定文件的文本至模式空间中匹配到的行后
= 为模式空间的行打印行号
!匹配行取反
s/// 查找替换,支持使用其他的分隔符 s@@@
替换标记:
g 行内全局替换
p 显示替换成功的行
w file 将替换成功的行保存至文件中
图1-2 sed命令使用
图1-3 sed命令使用
高级编辑命令:
h 把模式空间中的内容覆盖至保持空间中
H 把模式空间中的内容追加到保持空间中
g 把保持空间中的内容覆盖到模式空间中
G 把保持空间中的内容追加到模式空间中
x 把模式空间中的内容与保持空间调换
n 读取匹配到的行的下一行覆盖至模式空间
N 读取匹配到的行的下一行追加到模式空间
d 删除模式空间中的行
D 删除模式空间开端至\n的内容
图1-4 sed模式空间与保持空间
2 VIM编辑器
2.1 VI即Visual Interface 文本编辑器
VIM是VI的升级,提供了更易用,更强大的功能。
图2-1 vim帮助文档
vim [option]…file…
+# 打开文件后,直接让光标位于第#行的行首
+/pattern 打开文件后,直接让光标处于第一个被pattern匹配到的行的行首
+ file 直接打开file,光标位于最后一行
-b file 以二进制打开文件
-d file1 file2 比较多个文件
-m file 只读方式打开
ex file 直接进入ex模式
图2-2 vim命令使用
2.2 三种主要模式
命令模式(默认):移动光标,剪切/粘贴文本等
插入(编辑)模式:修改文本
扩展命令模式: 保存,退出等
Esc键 退出当前模式
Esc键 Esc键 总是返回命令模式
图2-3 三种模式间的切换
模式之间的转换
1) 命令模式 –> 插入模式
i insert,在光标所在处输入
I 在当前光标所在行的行首输入
a append,在光标所在处的后面输入
A 在当前光标所在行尾输入
o 在当前光标所在行的下方打开一个新行
O 在当前光标所在行的上方打开一个新行
2) 插入模式 –> 命令模式
Esc
3)命令模式 –> 扩展模式
:
4) 扩展模式 –> 命令模式
Esc
5)解锁与锁定
Ctrl+s 锁定
Ctrl+q 解锁
扩展模式:
w 写磁盘文件
wq 写入并保存
x 写入并推出
q 退出
q!不保存退出
r file 读文件内容到当前文件
w file 将当前文件写入另一个文件
!command 执行指令
r!command 在文件中显示指令执行结果
图2-4 !command命令使用
图2-5 r!command命令使用
命令模式光标跳转:
h 左 l 右 j 下 k 上
单词间跳转 行首行尾跳转
w 下一个单词的词首 ^ 跳转至行首第一个非空白字符
e 当前或下一个单词词尾 0 跳转至行首
b 当前或下一个单词词首 $ 跳转至行尾
当前页跳转 行间移动
H 页首 #G 跳转至由#指定的行
M 页中间行 G 最后一行
L 页底 1G,gg 第一行
句间移动 段落间移动
): 下一句 }: 下一段
(: 上一句 {: 上一段
字符编辑 删除命令
x 删除光标处的字符 d 删除命令
#x 删除光标处起始的#个字段 d$ 删除到行尾
xp 交换光标与后面字符的位置 d^ 删除到行首
~ 转换大小写 d0 删除到行首
图2-6 文本操作
地址定界
:start_pos,end_pos
# 具体第#行
#,# 行起始到行结尾
#,+# 从#行开始,加上右侧#的行数
. 表示当前行
$ 最后一行
% 全文,相当于1,$
查找并替换
s/要查找的内容/替换为的内容/修饰符
替换的内容,不能使用模式,但可以使用\1 \2…等向后引用符号;还可以使用&引用前面查找到的整个内容,分隔符也可以使用其他符号如s@@@…
修饰符
i 忽略大小写
g 全局替换
gc 全局替换,每次替换前询问
图2-7 查找替换
命令撤销
u撤销最近操作
#u可以撤销多次之前的更改
U撤销光标落在这一行后所有此行的更改
Ctrl -r 撤销"撤销"操作
. 重复前一个操作
n.重复前一个操作n次
2.3 多窗口的使用
多文件分割
vim -o|-O file1 file2
-o 水平分割
-O 垂直分割
Ctrl+w,arrow 窗口间切换
单文件分割
Ctrl+w,s 水平分割
Ctrl+w,v 垂直切割
Ctrl+w,q 取消相邻窗口
Ctrl+w,o 取消全部窗口
wqall 退出
图2-8 vim多窗口模式
2.4定制VIM的工作特性
配置文件:永久有效
全局:/etc/vimrc
个人:~/.vimrc
1) 设置行号 2)设置成对匹配 3)设置自动缩进 4)高亮搜索
set nu set showmatch(sm) set ai set hlsearch
5)设置语法高亮 6)忽略大小写 7)设置文件格式 8)设置文本宽度
syntax on set ic fileformat=unix set textwidth=65
图2-9 定制vim工作特性
原创文章,作者:Stupid_L,如若转载,请注明出处:http://www.178linux.com/32088