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

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

开发者学堂课程【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:根据模式文件处理


相关文章
|
8月前
|
数据采集 存储 API
手动给docusaurus添加一个搜索
如果algolia不能自动配置的话,我教你手动给docusaurus添加一个搜索
手动给docusaurus添加一个搜索
|
8月前
|
前端开发 JavaScript 容器
一个可搜索的表格
一个可搜索的表格
|
8月前
文本搜索命令
文本搜索命令
54 0
|
小程序 JavaScript
小程序搜索弹出搜索内容功能(模糊查询)
小程序搜索弹出搜索内容功能(模糊查询)
83 0
|
数据采集 搜索推荐 前端开发
11、搜索服务
根据分类、关键字匹配课程名称,课程内容、难度等级搜索,搜索方式为全文搜索,搜索节点分页显示。
105 0
|
搜索推荐 安全 Java
搜索
搜索
126 0
|
算法
百度搜索技巧,精确搜索,搜索指定标题、内容、网址,黑语法搜索入门
百度搜索技巧,精确搜索,搜索指定标题、内容、网址,黑语法搜索入门
288 0
百度搜索技巧,精确搜索,搜索指定标题、内容、网址,黑语法搜索入门
|
机器学习/深度学习 算法 搜索推荐
DARTS+:DARTS 搜索为何需要早停?
近日,华为诺亚 方舟实验室的作者们提出一种可微分的神经网络架构搜索算法 DARTS+,将早停机制(early stopping)引入到原始的 DARTS[1] 算法中,不仅减小了 DARTS 搜索的时间,而且极大地提升了 DARTS 的性能。相关论文《DARTS+: Improved Differentiable Architecture Search with Early Stopping》已经公开(相关代码稍后也会开源)。
235 0
DARTS+:DARTS 搜索为何需要早停?
|
存储 缓存 自然语言处理
一切为了搜索
Elasticsearch是​ 基于Lucene搜索架构的一个分布式、RESTful 风格的搜索和数据分析引擎