文本编辑工具vim(visual editor iMproved)
1.三种主要模式和转换
命令模式:默认模式,可以实现移动光标,剪切/粘贴文本
插入模式:用于修改文本
命令行模式(底行模式):保存,退出等
命令模式 —>> 插入模式
i insert 在光标所在处输入
I(大写i) 在当前光标所在行的行首输入
a append 在光标所在出后面输入
A 在光标所在行的行尾输入
o 在当前光标所在行的下方打开一个新行
O 在当前光标所在行上方打开一个 新行
命令行模式
w 写(存)文件
wq 写入并退出
x 写入并退出
q 退出
q! 不保存退出
X(大写x) 加密
w filename 将当前文件写入到另一个文件
命令模式(快捷键)
ZZ 保存退出
ZQ 不保存退出
光标跳转:
h:左 l(小写L):右 j:下 k:上
单词间跳转:
w:下一个单词的词首
e:当前或下一单词的词尾
b:当前活前一个单词的词首
当前页跳转:
H:页首
M:页中间行
L:页底
删除命令:
d: 删除命令,可结合光标跳转字符,实现范围删除
d$: 删除到行尾
d^: 删除到非空行首
d0: 删除到行首
dd: 多行删除 例:3dd
D: 从当前光标位置一直删除到行尾,等同于d$
复制命令:
y: 复制,行为相似于d命令
Y: 复制整行
umask:
file=666-umask = 奇数+1,偶数不变
文件内容的查看:
cat:
常见选项:
-E:显示行结束符
-A:显示所有控制符
-b:显示非空行编号(不包括空行)
-s:压缩连续的空行成一行
-n:显示每一行编号(包括空行)
[root@localhost test]$ cat -n like.txt
1
2 a
3
4 b
5 b
6 b
7 c
8
9 cc
10
cut 按列抽取文本
cut可以可以提取文本文件或stdin数据的指定列
格式: cut [option] [file]
选项:
-d 指明分隔符,默认tab
-f 第n个字段,例如3;连续多个字段,例如3-9;混合使用,1-3,7
合并多个文件(paste)
paste:合并多个文件中同行号的列到一行
-d:指定分隔符,默认为tab
-s:所有行合成一行显示
分析文本的工具:wc
文本数据统计:wc
wc命令可用于统计文件的总行数(7),单词总数(6),字节总数(32)
常用选项:
-l:只统计行数
-w:只统计单词总数
-c:只统计字节总数
-m:只统计字符总数
-L:显示文件中最长行的长度
文本排序sort
常用选项:
-r: 由下至上整理
-R: 随机排序
-n: 按数字大小排序
-f: 忽略字符串中的字符大小写
-u: 删除输出中的重复行
-t c 选项使用c作为字段界定符
去重uniq
常见选项:
-c: 显示每行重复出现的次数(连续的)
-d: 仅显示重复过的行
-u: 金显示不曾重复的行