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

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

开发者学堂课程【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 第四篇,巧妙的使用信号量处理串口通讯。
587 1
RT-Thread 应用篇 — 在STM32L051上使用 RT-Thread (四、无线温湿度传感器 之 串口通讯)
信号分析与处理——对于傅里叶信号一些整理
信号分析与处理——对于傅里叶信号一些整理
255 0
信号分析与处理——对于傅里叶信号一些整理
|
2天前
|
数据采集 人工智能 安全
|
12天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1023 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1720 9
|
8天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
662 152