文本排序与搜索命令 | 学习笔记

简介: 快速学习文本排序与搜索命令。

开发者学堂课程【Linux文本处理、正则表达式与Vim文本排序与搜索命令】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/592/detail/8351


文本排序与搜索命令

内容介绍

一.文本处理工具和正则表达式

二.收集文本统计数据 wc

三.文本排序 sort

四.Uniq

五.比较文件

六.复制对文件改变 patch

七.练习

八.Linux 文本处理三剑客

九.grep

十.grep 命令选项

 

.文本处理工具和正则表达式

分析文本的工具

文本数据统计:wc

整理文本:sort

比较文件:diffpatch

 

.收集文本统计数据 wc

1.计数单词总数、行总数、字节总数和字符总数

2.可以对文件或 STDIN 中的数据运行 处理工 排序与

wc story.txt

39 237   1901 story.txt

行数 字数 字节数

3.常用选项

-|     只计数行数

-W    只计数单词总数

-C     只计数字节总数

-m    只计数字符总数

-L     显示文件中最长行的长度

 

.文本排序 sort

1.把整理过的文本显示在 STDOUT,不改变原始文件

sort [options] file(s)

2.常用选项

-r   执行反方向(由上至下)整理

-R   随机排序

-n   执行按数字大小整理

-f   选项忽略(fold)字符串中的字符大小写

-u   选项(独特,unique)删除输出中的重复行

-t c  选项使用c做为字段界定符

-k X  选项按照使用c字符分隔的X列来整理能够使用多次

 

.Uniq

1.uniq 命令:从输入中删除前后相接的重复的行

2.uniq [OPTION] [FILE]...

-c:显示每行重复出现的次数

-d:仅显示重复过的行

-u:仅显示不曾重复的行

:连续且完全相同方为重复

3.常和 sort 命令一起配合使用:

sort userlist.txt  | uniq  -c

 

.比较文件

比较两个文件之间的区别

diff foo.conf foo2.conf

5c5

< use widgets=no

---

>use widgets=yes

注明第5行有区别(改变)

 

.复制对文件改变 patch

1.diff命的输出被保存在一种叫做“补丁”的文件中

使用 -u  选项来输出“统一的(unified)diff格式文件,最适用于补丁文件

2.Patch 复制在其它文件中进行的改变(谨慎使用)

适用 -b 选项来自动备份改变了的文件

diff -u foo.conf foo2.conf>foo.patch

patch -b foo.conf foo.patch

 

.练习

1.找出 ifconfig “网卡名”命令结果中本机的 IPv4地址

2.查出分区空间使用率的最大百分比值

3.查出用户 UID 最大值的用户名、UID shell类型

4.查出/tmp 的权限,以数字方式显示

5.统计当前 连接本机的每个远程主机IP的连接数,并按从大到小排序

 

.Linux 文本处理三剑客

grep:文本过滤(模式:pattern)工具

grep,egrep,fgrep(不支持正则表达式搜索)

sed:stream editor,文本编辑工具

awk:Linux 上的实现 gawk,文本报告生成器

 

.grep

1.grep: Global search REgular expression and Print out the line

作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行

模式:由正则表达式字符及文本字符所编写的过滤条件

2.grep [OPTIONS] PATTERN [FILE..]

grep root /etc/passwd

grep"$USER" /etc/passwd

grep '$USER' /etc/passwd

grep `whoami`/etc/passwd

 

.grep 命令选项

1.--color=auto:对四配到的文本着色显示

2.-v:显示不被 pattern 匹配到的行

3.-i:忽略字符大小写

4.-n:显示匹配的行号

5.-c:统计配的行数

6.-0:仅显示匹配到的字符串

7.-q:静默模式,不输出任何信息

8.-A#:after,#

9.-B#:before,#

10.-C#:context前后各#

11.-e:实现多个选项间的逻辑or关系

grep-e  'cat’ -e  ‘dog file

12.-w:匹配整个单词

13.-E:使用 ERE

14.-F:相当于 fgrep,不支持正则表达式

15.-f file:根据模式文件处理


相关文章
|
传感器 消息中间件 缓存
RT-Thread 应用篇 — 在STM32L051上使用 RT-Thread (四、无线温湿度传感器 之 串口通讯)
应用篇-在STM32L051上使用RT-Thread 第四篇,巧妙的使用信号量处理串口通讯。
570 1
RT-Thread 应用篇 — 在STM32L051上使用 RT-Thread (四、无线温湿度传感器 之 串口通讯)
信号分析与处理——对于傅里叶信号一些整理
信号分析与处理——对于傅里叶信号一些整理
248 0
信号分析与处理——对于傅里叶信号一些整理
|
3天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
271 116
|
18天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
5天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
369 36
Meta SAM3开源:让图像分割,听懂你的话
|
12天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
665 220