1. 编辑文件
命令模式下键盘点击 i
按键即可编辑文件内容。
2. 显示行号
在命令模式下输入:set nu
3. 将光标移动到某一行
在命令模式下输入:<行号>
4. 查找内容
在命令模式下输入/<需要查找的内容>
,按n
键向下继续查找
5. 删除一整行
在命令模式下将光标移动到需要删除的行连续按两次d
键
6. 复制粘贴某一行
再命令模式下将光标移动到需要复制的行,连续按两次y
,然后将光标移动到需要粘贴到的行点击p
键
7. 删除光标以下的所有行
在命令模式下将光标移动到需要删除的位置,连续按三次9
键,然后再连续按两次d
键
8. 将光标移动到文件最后一行或者第一行
在命令模式下按两次G
,此时光标会移动到文件最后一行;
在命令模式下按两次g
,此时光标会移动到文件第一行;
9. 文件修改之后未保存退出时可能出现问题
如下所示:
我们点击ENTER
键可以继续编辑文件,对文件也可以正常操作,但是当我们再次修改文件时,还是会出现同样的问题,这是因为系统自动为我们创建了一个临时文件。通过 ll -a
命令查看如下:
此时只需要将.swp
后缀名的文件删除就不会再有警告提示了。
10. 统计字数相关信息wc
命令
用法:wc [选项]... [文件]...
或:wc [选项]... --files0-from=F
打印每个FILE的换行符,单词和字节数,如果有则打印总行数
指定了多个文件。 如果没有FILE,或者当FILE为-时,
读取标准输入。 单词是非零长度的字符序列
用空格分隔。
以下选项可用于选择要打印的计数,始终以
顺序如下:换行符,单词,字符,字节,最大行长。
-c, --bytes 打印字节数
-m, --chars 打印字符数
-l, --lines 打印换行计数
--files0-from=文件 从指定文件读取以NUL 终止的名称,如果该文件被
指定为"-"则从标准输入读文件名
-L, --max-line-length 显示最长行的长度
-w, --words 显示单词计数
--help 显示此帮助信息并退出
--version 显示版本信息并退出
11.对文件进行排序sort
用法:sort [选项]... [文件]...
或:sort [选项]... --files0-from=F
将所有FILE的排序后的串联写入标准输出。
长选项的强制性参数对于短选项也是必需的。
排序选项:
-b, --ignore-leading-blanks 忽略前导的空白区域
-d, --dictionary-order 只考虑空白区域和字母字符
-f, --ignore-case 忽略字母大小写
-g, --general-numeric-sort compare according to general numerical value
-i, --ignore-nonprinting consider only printable characters
-M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'
-h, --human-numeric-sort 使用易读性数字(例如: 2K 1G)
-n, --numeric-sort 根据字符串数值比较
-R, --random-sort 根据随机hash 排序
--random-source=文件 从指定文件中获得随机字节
-r, --reverse 逆序输出排序结果
--sort=WORD 按照WORD 指定的格式排序:
一般数字-g,高可读性-h,月份-M,数字-n,
随机-R,版本-V
-V, --version-sort 在文本内进行自然版本排序
其他选项:
--batch-size=NMERGE 一次最多合并NMERGE 个输入;如果输入更多
则使用临时文件
-c, --check, --check=diagnose-first 检查输入是否已排序,若已有序则不进行操作
-C, --check=quiet, --check=silent 类似-c,但不报告第一个无序行
--compress-program=程序 使用指定程序压缩临时文件;使用该程序
的-d 参数解压缩文件
--debug 为用于排序的行添加注释,并将有可能有问题的
用法输出到标准错误输出
--files0-from=文件 从指定文件读取以NUL 终止的名称,如果该文件被
指定为"-"则从标准输入读文件名
-k, --key=KEYDEF sort via a key; KEYDEF gives location and type
-m, --merge merge already sorted files; do not sort
-o, --output=文件 将结果写入到文件而非标准输出
-s, --stable 禁用last-resort 比较以稳定比较算法
-S, --buffer-size=大小 指定主内存缓存大小
-t, --field-separator=分隔符 使用指定的分隔符代替非空格到空格的转换
-T, --temporary-directory=目录 使用指定目录而非$TMPDIR 或/tmp 作为
临时目录,可用多个选项指定多个目录
--parallel=N 将同时运行的排序数改变为N
-u, --unique 配合-c,严格校验排序;不配合-c,则只输出一次排序结果
-z, --zero-terminated 以0 字节而非新行作为行尾标志
--help 显示此帮助信息并退出
--version 显示版本信息并退出
12. 检查重复的行列uniq
用法:uniq [选项]... [文件]
从INPUT(或标准输入)中过滤相邻的匹配行,
写入OUTPUT(或标准输出)。
没有选项,匹配的行将合并到第一个匹配项。
长选项的强制性参数对于短选项也是必需的。
-c, --count 通过出现次数为行加前缀
-d, --repeated 仅打印重复的行,每组一行
-D, --all-repeated[=METHOD] 打印所有重复的行
组可以用空行分隔
METHOD={none(default),prepend,separate}
-f, --skip-fields=N 避免比较前N个字段
--group[=METHOD] 显示所有项目,用空行分隔组
METHOD={separate(default),prepend,append,both}
-i, --ignore-case 比较时忽略差异
-s, --skip-chars=N 避免比较前N个字符
-u, --unique 只打印唯一的行
-z, --zero-terminated 以0字节结尾的行,而不是换行符
-w, --check-chars=N 对每行第N 个字符以后的内容不作对照
--help 显示此帮助信息并退出
--version 显示版本信息并退出
避坑
当文件中的内容如下:
我们在使用uniq
命令时出现如下结果:
此时我们需要先将文件进行排序,然后再使用uniq
命令去重
sort test.txt| uniq
13. 获取前N条数据
用法:head [选项]... [文件]...
将每个FILE的前10行打印到标准输出。
如果有多个FILE,则在每个文件之前加上一个标头,以提供文件名。
如果没有FILE,或者当FILE为-时,请读取标准输入。
长选项的强制性参数对于短选项也是必需的。
- [N] 打印前N行数据,N是一个数字
-c, --bytes=[-]K 打印每个文件的前K个字节;
带有前导“-”,则打印除最后一个以外的所有内容
每个文件的K字节
-n, --lines=[-]K 打印前K行,而不是前10行;
带有前导“-”,则打印除最后一个以外的所有内容
每个文件K行
-q, --quiet, --silent 不显示包含给定文件名的文件头
-v, --verbose 总是显示包含给定文件名的文件头
--help 显示此帮助信息并退出
--version 显示版本信息并退出