1
0
wiki/docs/运维/Linux/常用命令/文件文本编辑.md

212 lines
7.9 KiB
Markdown
Raw Normal View History

---
id: 文件文本编辑
title: 文件文本编辑
sidebar_position: 5
data: 2022年2月28日
---
## cat
cat命令用于查看纯文本文件内容较少的英文全称为“concatenate”语法格式
```shell
cat [参数] 文件名称
```
常用参数:
| -n | 显示行数(空行也编号) |
| --------- | --------------------------------------- |
| -s | 显示行数(多个空行算一个编号) |
| -b | 显示行数(空行不编号) |
| -E | 每行结束处显示$符号 |
| -T | 将TAB字符显示为 ^I符号 |
| -v | 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 |
| -e | 等价于”-vE”组合 |
| -t | 等价于”-vT”组合 |
| -A | 等价于 -vET组合 |
| --help | 显示帮助信息 |
| --version | 显示版本信息 |
## more
more 命令用于查看纯文本文件(内容较多的),语法格式:
```shell
more [参数] 文件名称
```
常用参数:
| -num | 指定每屏显示的行数 |
| --------- | ------------------------------------------------------------ |
| -l | more在通常情况下把 **^L** 当作特殊字符, 遇到这个字符就会暂停,-l选项可以阻止这种特性 |
| -f | 计算实际的行数,而非自动换行的行数 |
| -p | 先清除屏幕再显示文本文件的剩余内容 |
| -c | 与-p相似不滚屏先显示内容再清除旧内容 |
| -s | 多个空行压缩成一行显示 |
| -u | 禁止下划线 |
| +/pattern | 在每个文档显示前搜寻该字(pattern),然后从该字串之后开始显示 |
| +num | 从第 num 行开始显示 |
## head
head命令以行为单位取文件的内容,后面不接参数时默认打印前10行。
```shell
head [参数] [文件]
```
常用参数:
| -n | 后面接数字,代表显示几行的意思 |
| ---- | ------------------------------ |
| -c | 指定显示头部内容的字符数 |
| -v | 总是显示文件名的头信息 |
| -q | 不显示文件名的头信息 |
## tail
tail 命令用于查看纯文本文件的后*N*行或持续刷新文件的最新内容,语法格式:
```shell
tail [参数] 文件名称
```
## tr
tr 命令用于替换文本内容中的字符英文全称为“transform”支持正则匹配。语法格式
```shell
tr [原始字符] [目标字符]
```
## wc
wc 命令用于统计指定文本文件的行数、字数或字节数英文全称为“word counts”语法格式
```shell
wc [参数] 文件名称
```
wc 命令中的参数以及作用
| 参数 | 作用 |
| ---- | ------------ |
| -l | 只显示行数 |
| -w | 只显示单词数 |
| -c | 只显示字节数 |
## stat
stat命令用于查看文件的具体存储细节和时间等信息英文全称为“status”语法格式
```shell
stat 文件名称
```
常用参数:
| -L | 支持符号链接 |
| --------- | ------------------ |
| -f | 显示文件系统的信息 |
| -t | 以简洁的方式输出 |
| --help | 显示命令帮助信息 |
| --version | 显示命令版本信息 |
## grep
grep命令用于按行提取文本内容语法格式
```shell
grep [参数] 文件名称
```
参数及其作用
| 参数 | 作用 |
| ---- | ---------------------------------------------- |
| -b | 将可执行文件(binary)当作文本文件text来搜索 |
| -c | 仅显示找到的行数 |
| -i | 忽略大小写 |
| -n | 显示行号 |
| -v | 反向选择——仅列出没有“关键词”的行。 |
## cut
cut 令用于按“列”提取文本内容,语法格式:
```shell
cut [参数] 文件名称
```
常用参数:
| -b | 以字节为单位进行分割 ,仅显示行中指定直接范围的内容 |
| --------------- | -------------------------------------------------- |
| -c | 以字符为单位进行分割 , 仅显示行中指定范围的字符 |
| -d | 自定义分隔符默认为制表符”TAB” |
| -f | 显示指定字段的内容 , 与-d一起使用 |
| -n | 取消分割多字节字符 |
| --complement | 补足被选择的字节、字符或字段 |
| --out-delimiter | 指定输出内容是的字段分割符 |
## diff
diff 命令用于比较多个文件之间内容的差异英文全称为“different”语法格式
```shell
diff [参数] 文件名称A 文件名称B
```
常用参数:
| -a | diff预设只会逐行比较文本文件 |
| ----------------------- | ------------------------------------------------------------ |
| -b | 不检查空格字符的不同 |
| -W | 在使用-y参数时指定栏宽 |
| -x | 不比较选项中所指定的文件或目录 |
| -X | 您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件 |
| -y | 以并列的方式显示文件的异同之处 |
| --help | 查看帮助信息 |
| --left-column | 在使用-y参数时若两个文件某一行内容相同则仅在左侧的栏位显示该行内容 |
| --suppress-common-lines | 在使用-y参数时仅显示不同之处 |
## uniq
uniq命令用于去除文本中连续的重复行英文全称为“unique”语法格式
```shell
uniq [参数] 文件名称
```
常用参数:
| -c | 打印每行在文本中重复出现的次数 |
| ---- | ------------------------------------------ |
| -d | 只显示有重复的纪录,每个重复纪录只出现一次 |
| -u | 只显示没有重复的纪录 |
## sort
sort命令用于对文本内容进行再排序语法格式
```shell
sort [参数] 文件名称
```
常用参数:
| -b | 忽略每行前面开始出的空格字符 |
| ------------- | ------------------------------------------------------ |
| -c | 检查文件是否已经按照顺序排序 |
| -d | 排序时,处理英文字母、数字及空格字符外,忽略其他的字符 |
| -f | 排序时,将小写字母视为大写字母 |
| -i | 排序时除了040至176之间的ASCII字符外忽略其他的字符 |
| -m | 将几个排序号的文件进行合并 |
| -M | 将前面3个字母依照月份的缩写进行排序 |
| -n | 依照数值的大小排序 |
| -o <输出文件> | 将排序后的结果存入制定的文件 |
| -r | 以相反的顺序来排序 |
| -t <分隔字符> | 指定排序时所用的栏位分隔字符 |
| -k | 指定需要排序的栏位 |