管道命令
- cut
- sort
- wc
- uniq
- tee
- tr
- split
- awk
- sed
1 cut
- cut 根据条件 从命令结果中提取对应内容
| 命令 | 含义 |
|---|---|
| cut 动作 文件 | 从指定文件 截取内容 |
- 参数
| 参数 | 英文 | 含义 |
|---|---|---|
| -c | characters | 按字符选取内容 |
| -d 分隔符 | delimiter | 指定分隔符 |
| -f n1,n2 | fields | 分割以后显示第几段内容, 使用 , 分割 |
| n | 只显示第n项 | |
| n- | 显示 从第n项 一直到行尾 | |
| n-m | 显示 从第n项 到 第m项(包括m) |
head -2 1.txt | cut -c 5
2 sort
- sort可针对文本文件的内容,以行为单位来排序。
| 参数 | 英文 | 含义 |
|---|---|---|
| -u | unique | 去掉重复的 |
| -n | numeric-sort | 按照数值大小排序 |
| -r | reverse | 使次序颠倒 |
| -t | field-separator | 指定字段分隔符 |
| -k | key | 根据那一列排序 |
3 wc命令
| 命令 | 含义 |
|---|---|
| wc 文件名 | 显示指定文件 字节数, 单词数, 行数 信息 |
- 只显示 文件 的行数
| 参数 | 英文 | 含义 |
|---|---|---|
| -c | bytes | 字节数 |
| -w | words | 单词数 |
| -l | lines | 行数 |
4 uniq
- uniq 命令用于检查及删除文本文件中重复出现的行,一般与 sort 命令结合使用。
| 命令 | 英文 | 含义 |
|---|---|---|
| uniq [参数] 文件 | unique 唯一 | 去除重复行 |
| -c | count | 统计每行内容出现的次数 |
5 tee
| 命令 | 含义 |
|---|---|
| 命令结果 | tee 文件1 文件2 文件3 | 通过 tee 可以将命令结果 通过管道 输出到 多个文件中 |
6 tr
| 命令 | 英文 | 含义 |
|---|---|---|
| 命令结果 | tr 被替换的字符 新字符 | translate | 实现 替换效果 |
| 命令结果 | tr -d 被删除的字符 | delete | 删除指定的字符 |
7 split
| 命令 | 英文 | 含义 |
|---|---|---|
| split -b 10k 文件 | byte | 将大文件切分成若干10KB的小文件 |
| split -l 1000 文件 | lines | 将大文件切分成若干1000行 的小文件 |
8 awk
| 命令 | 含义 |
|---|---|
| awk ‘/zhangsan|lisi/’ score.txt | 模糊查询 |
| awk -F ‘,’ ‘{print $1, $2, $3}’ 1.txt | 操作1.txt文件, 根据 逗号 分割, 打印 第一段 第二段 第三段 内容 |
| awk -F ’ ’ ‘{OFS="==="}{print $1, $2, $3}’ 1.txt | 操作1.txt文件, 根据 逗号 分割, 打印 第一段 第二段 第三段 内容 |
| awk -F ‘,’ ‘{print toupper($2)}’ 1.txt | 操作1.txt文件, 根据 逗号 分割, 打印 第一段 第二段 第三段 内容 |
| awk -F ‘,’ ‘{if($4>60) print $1, $4 }’ score.txt | 如果及格,就显示 $1, $4 |
| awk -F ‘,’ ‘{if($4>60) print $1, $4, “及格”; else print $1, $4, “不及格”}’ score.txt | 显示 姓名, $4, 是否及格 |
| if($0 ~ “aa”) print $0 | 如果这一行包含 “aa”, 就打印这一行内容 |
| if($1 ~ “aa”) print $0 | 如果**第一段 **包含 “aa”, 就打印这一行内容 |
| if($1 == “lisi”) print $0 | 如果第一段 等于 “lisi”, 就打印这一行内容 |
| awk ‘BEGIN{初始化操作}{每行都执行} END{结束时操作}’ 文件名 | BEGIN{ 这里面放的是执行前的语句 } {这里面放的是处理每一行时要执行的语句} END {这里面放的是处理完所有的行后要执行的语句 } |
- 常用函数如下:
| 选项 | 英文 | 含义 |
|---|---|---|
| -F ‘,’ | field-separator | 使用 指定字符 分割 |
| $ + 数字 | 获取第几段内容 | |
| $0 | 获取 当前行 内容 | |
| NF | field | 表示当前行共有多少个字段 |
| $NF | 代表 最后一个字段 | |
| $(NF-1) | 代表 倒数第二个字段 | |
| NR | 代表 处理的是第几行 | |
| OFS=“字符” | output field separator | 向外输出时的段分割字符串 |
| toupper() | upper | 字符 转成 大写 |
| tolower() | lower | 字符 转成小写 |
| length() | length | 返回 字符长度 |
9 sed
| 命令 | 含义 |
|---|---|
| sed 可选项 目标文件 | 对目标文件 进行 过滤查询 或 替换 |
- 可选参数
| 可选项 | 英文 | 含义 |
|---|---|---|
| p | 打印 | |
| $ | 代表 最后一行 | |
| -n | 仅显示处理后的结果 | |
| -e | expression | 根据表达式 进行处理 |
| = | 打印当前行号 | |
| I | ignore | 忽略大小写 |
| -r | regexp-extended | 识别正则 |
| d | delete | 删除指定内容 |
| i | insert | 目标前面 插入内容 |
| a | append | 目标后面 追加内容 |
| s/oldString/newString/ | replace | 替换 |
| 2c 新字符串 | replace | 使用新字符串 替换 选中的行 |
| -i | in-place | 替换原有文件内容 |

被折叠的 条评论
为什么被折叠?



