Linux文本处理与编辑工具全解析
1. 文本去重与统计:uniq命令
在处理文本时,经常会遇到需要去除重复行的情况。uniq命令就可以实现这一功能,但它只能去除相邻的重复行。uniq有多个选项,常见选项如下表所示:
| 选项 | 长选项 | 描述 |
| — | — | — |
| -c | –count | 输出重复行列表,并在每行前面加上该行出现的次数 |
| -d | –repeated | 只输出重复行,而非唯一行 |
| -f n | –skip-fields=n | 忽略每行的前 n 个字段,字段由空白字符分隔 |
| -i | –ignore-case | 在比较行时忽略大小写 |
| -s n | –skip-chars=n | 跳过(忽略)每行的前 n 个字符 |
| -u | –unique | 只输出唯一行,忽略有重复的行 |
下面是使用-c选项统计文本文件中重复行数量的示例:
[me@linuxbox ~]$ sort foo.txt | uniq -c 2 a 2 b 2 c2. 文本切片与重组工具
2.1 cut:提取文件每行的部分内容
cut程序用于从一行中提取文本部分,并将提取的部分输出到标准输出。它可以接受多个文件参数或标准输入。提取行的部分内容的方