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

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

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


相关文章
|
12月前
|
存储 自然语言处理 Java
【elasticsearch】记录ES查询数据结果为空的问题(单个字搜索可以,词语搜索为空)
【elasticsearch】记录ES查询数据结果为空的问题(单个字搜索可以,词语搜索为空)
517 0
|
5月前
|
SQL 前端开发 Java
实现数据的搜索( 筛选 )功能
实现数据的搜索( 筛选 )功能
|
5月前
|
前端开发 JavaScript 容器
一个可搜索的表格
一个可搜索的表格
|
5月前
文本搜索命令
文本搜索命令
40 0
|
11月前
|
小程序 JavaScript
小程序搜索弹出搜索内容功能(模糊查询)
小程序搜索弹出搜索内容功能(模糊查询)
62 0
|
移动开发 算法
秒懂算法 | A*搜索
本篇内容包括了A*搜索算法的原理精解以及2个例题。
466 1
秒懂算法 | A*搜索
搜索
搜索
111 0
|
存储 自然语言处理 前端开发
基于solr实现通用:输入提示、纠错、拼音搜索、繁体搜索方案
假期重新把之前在新浪博客里面的文字梳理了下,搬到这里。文本介绍基于solr实现通用:输入提示、纠错、拼音搜索、繁体搜索方案。
376 0
基于solr实现通用:输入提示、纠错、拼音搜索、繁体搜索方案
|
存储 小程序
小程序实现搜索历史记录,去重搜索字段以及限制展示字段数量
小程序实现搜索历史记录,去重搜索字段以及限制展示字段数量
1392 0