VIM
ESC + yy 在当前光标位置复制一行
ESC + p 粘贴到当前光标处
ESC + dd 删除光标所在行
ESC +:%s/检索字符/替换字符/g 查找并替换字符
执行命令 :!pwd !:cp !:(data)
文本处理
sort 排序
uniq 去重
grep 以行为单位搜索
sed 流编辑器
awk
终止状态
终止状态是0-255之间的值
0表示命令执行成功
其他数字表示执行失败
127表示未找到命令
若ctrl+C终止,终止状态变为信号值加128的和
重新执行
!n:s/old/new
!n:gs/old/new
将之前的第n个命令的old字符串替换为new
sed使用
8d 删除输入的第8行
/^$/d 删除所有空行
1,/^$/d 从第一行起删除直到发现空行
s/*$// 删除所有行尾出现的空格
s/00*/0/g 以0替换所有连续出现的空格
/GUI/d 删除包含“GUI”的所有行
s/GUI//g 全局删除“GUI”三个字符
awk
格式
awk ‘pattern’ filename
awk ‘{action}’ filename
awk ‘pattern {action}’ filename
awk ‘{sum=$1 + $5; print sum}’ filename
其他工具总结
cut 截取文件指定的各行各段
-f1 第一列
-f2 第二列
paste 合并文本
输出格式为文件一的几列,右边跟文件二的几列
join 在两个文件中发现一对等值字段,则合并为一个字段
tr 替换
tr “12” “xy” < filename 将1换为x,2换为y
tr “[a-z]” “A-Z” filename
uniq 检索相邻行的重复字符串,删除重复,只保留一行,若不相邻行有重复,不予处理
split 以大小单位或行单位截取大容量文本文件
col 更换换行字符
xarg 以行为单位读取输入数据并执行参数化
which bash | xargs ls -l
find 在目录层级检索文件,检索结果一行只显示一个文件名,使用管道传递给各种命令的参数
find … -exec 命令{} \; 查找的结果用作命令的参数
find … | xargs 命令 接收从管道传递的结果参数并执行命令
tee 通过标准输入读取,并保存为标准输出和文件
VIM专项讲解
1.1 移动光标
1.2 进入和离开VIM
按ECS确保处于正常模式
输入:q! <ENTER>不保存退出
:wq <ENTER>保存并退出
1.3 文本编缉-删除
正常模式下移动光标到不需要的字符,按下x删除
1.4 文本编缉-插入
命令模式下按i插入文字
2.1 删除命令
按ESC返回命令模式
把光标移到需要删除的词首
输入dw删除单词
2.2 其他删除命令
输入d$删除到行尾
2.3 命令和适用对象
命令d的格式:
数字 d 对象 或者
d 数字 对象
数字是命令执行次数
对象是命令操作对象
dw 从光标位置到词尾
de 从光标位置到词尾(不包括空格)
d$ 从光标位置到行尾
2.4 “命令-对象”的异常
输入dd删除整行
2dd 删除两行
2.5 撤销命令
输入u可以撤销最后的命令
U可以恢复整行
Ctrl+R撤销撤销
3.1 插入PUT命令
输入p把最后删除的内容放置到当前光标位置后
3.2 替换REPLACE命令
输入r可以替换光标所在位置的字符
3.3 转换CHAGE命令
输入cw替换部分或全部单词
3.4 利用c执行更多转换
转换命令可用于删除时使用的对象
格式:
数字 c 目标
c 数字 目标
4.1 位置和文件状态
输入Ctrl-g显示文件中的当前位置和文件状态
输入shift-g转到文件内的行
4.2 查找命令
输入/后输入需要查找的语句
4.3 搜索对应括号
输入%可以搜索对应的括号
4.4 修改错误的方法
替换
:#,#s/old/new/g 两行之间的部分替换
:%s/old/new/g 整个文件中替换
5.1 执行外部命令
输入:!后输入外部命令
5.2 文件保存进阶
:w filename 保存修改的文件
5.3 选择性保存文件
#,# w filename 保存#-#范围
5.4 读取、合并文件
输入:r filename 插入文件内容
6.1 打开新行命令
输入o可以在当前行下打开新行并切换到编缉模式
大写O表示在光标之上打开新行
6.2 添加命令
输入a可在光标后面插入字符
6.3 其他替换
输入大写R替换多个字符
大写A在光标前插入字符
6.4 选项设置
:set ic 表示忽略大小写
:set hls is 高亮显示
:set nohlsearch 删除高亮显示