Linux复习4——shell与文本处理

embedded/2024/12/27 16:03:57/

认识vim编辑器

#基本语法格式:

vim 文件名

•如果文件存在,进入编辑状态对其进行编辑

•如果文件不存在,创建文件并进入编辑状态

例:

[root@localhosttest]# vim practice.txt

#Vim 编辑器三种模式:

命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。

输入模式:正常的文本录入。

末行模式:保存或退出文档,以及对文件内容进行替换。

#命令模式常用命令:

#末行模式常用命令:

通配符

定义:一类具有特殊含义的键盘字符,称之为元字符

常用:*, ?, [],{}

功能: 用于模糊搜索文件,也就是匹配文件名

举例:?用于匹配任意一个字符,a?b可以匹配abb、acb,不能匹配ab

实例:

例1:查找当前目录下以“.txt”结尾的文件

find . -name *.txt

例2:显示当前目录下以“.txt”结尾的文件的详细属性信息

ll *.txt

例3:查询文件名只有一个字符的文件

find . -name ?

例4:查询不是以.txt结尾的文件

find . ! -name *.txt

例5:查询以名字是bak或者bbk的文件

find -name "b[ab]k"

grep

find是查找文件,grep查找文件内容

不支持*和?等通配符

使用正则表达式搜索文本

命令格式:

grep [选项] 查找条件 目标文件

工作方式:在一个或多个文件中搜索符合查找条件的字符串,并打印出该字符串所在行的内容。不影响原文件内容。

选项:

--color=auto: 对匹配到的文本着色显示

-v: 显示不被pattern(查找条件)匹配到的行

-i: 忽略字符大小写

-n:显示匹配的行号

-c: 统计匹配的行数

-o: 仅显示匹配到的字符串

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

-E:支持使用扩展正则表达式

正则表达式

概念:由普通字符和特殊字符(元字符)组成的字符串匹配的模式

功能:描述一个字符串模式

组成:

一般字符:没有特殊意义的字符

特殊字符(meta字符):元字符,有在正则表达式中有特殊意义

注意:

正则表达式规则与文件名通配符规则不同

正则表达式用于文本处理的场合

文件通配符用于文件处理的场合

不同软件对正则表达式的定义会有差异

linux正则表达式以行为单位处理字符串

[]用法

[]定义集合:

基本用法:

在一对方括号之间的字符为集合,表示匹配该集合内的任意单字符

如:单字符正则表达式[abcd]与a或b、c、d匹配

圆点、星号、反斜线在方括号内时,代表它们自己

如:[\*.]可匹配3个单字符

[]定义集合:

用减号-定义一个区间:

如[A-Z]、[0-9]、[A-Za-z0-9]

[][]集合中含左右中括号两个字符

减号在最后,则失去表示区间的意义

如:[az-]只与3个字符匹配

用^表示补集:

^在开头,表示与除集合内字符外的任意字符匹配

如:[^a-z]匹配任意非小写字符

[^][]匹配任意非中括号字符

^不在开头,则失去表示补集的意义

如:[a-z^]能匹配27个单字符

grep和find的区别

grep:查找文件中的字符串——类比在Word中查找内容

按行查找

find:查找文件或目录——类比windows“搜索”功能

重定向与管道命令

1. 输入输出重定向——重定向至/dev/null

/dev/null:特殊文件,不保存数据,写入其中的内容都会被丢弃。将命令的输出重定向到它,会起到“禁止输出”的效果

command > /dev/null 屏蔽stdout

command 2> /dev/null 屏蔽stderr

command > /dev/null 2>&1 屏蔽stdout和stderr:

2.管道符“|”

概念:一种通信机制,通常用于进程间通信。将前面一个进程的输出直接作为下一个进程的输入

作用:将前后的命令衔接在一起,形成一个管道线

格式:命令1 | 命令2 | …… | 命令n

例1:使用grep命令通过匹配文件/etc/passwd中的关键词/sbin/nologin找出了所有被限制登录系统的用户,计算一个有多少个用户。

找出被限制登录用户的命令是grep "/sbin/nologin" /etc/passwd;

统计文本行数的命令则是wc -l。

使用管道符连接两条命令:

[root@localhost ~]# grep "/sbin/nologin" /etc/passwd | wc -l

例2:ls -l /etc | less

例3:ps -ef | grep firefox 过滤firefox相关进程信息

例4:echo "123456" | passwd --stdin 用户名 修改密码


http://www.ppmy.cn/embedded/149205.html

相关文章

stm32能跑人工智能么

STM32确实能够运行人工智能算法,这得益于其强大的计算能力和丰富的外设接口,为运行小型人工智能算法提供了基础。以下是对STM32运行人工智能能力的详细分析: 一、硬件基础 STM32作为一款广泛应用于工业控制、智能家居等领域的微控制器&…

OCR实践-Table-Transformer

前言 书接上文 OCR实践—PaddleOCR Table-Transformer 与 PubTables-1M table-transformer,来自微软,基于Detr,在PubTables1M 数据集上进行训练,模型是在提出数据集同时的工作, paper PubTables-1M: Towards comp…

全国硕士研究生入学考试(考研)常识详解之分数构成:初试成绩、复试成绩及复录比

考研分数构成全解析:初试成绩、复试成绩及复录比详解 全国硕士研究生入学考试(考研)的成绩评定由初试和复试两个阶段组成,最终成绩决定考生的录取结果。在此过程中,复试比例及复录比是考生需要重点关注的因素。以下将…

美畅物联丨如何在视频汇聚平台上添加RTMP主动推流设备?

我们前面经常提起视频汇聚平台运用流媒体传输协议接入各类视频源设备,对分散的各种视频资源予以统一汇聚、整合并集中管理。这类平台不但支持多种接入形式,涵盖标准协议(像GB28181、RTSP/Onvif、RTMP等)以及厂家私有协议和SDK接入…

网络层协议--ip协议

目录 引言 IP协议 协议头格式 16位标识与3位标志与13位片偏移讲解 网段划分(重要) DHCP技术 CIDR技术 特殊的IP地址 广播主机 IP地址的数量限制 私有IP地址和公网IP地址 路由:在复杂的网络结构中, 找出一条通往终点的路线 简单认识路由器 路由表生成算…

golang标准库SSH操作示例

文章目录 前言一、了解SSH二、重要知识点1.安装ssh库2.ssh库重要知识牢记 三、模拟连接远程服务器并执行命令四、SSH与os/exec标准库下执行命令的几种方式对比五、SSH库下三种执行命令方式演示5.1. session.CombinedOutput()示例5.2. session.Run()示例5.3. session.Start()、s…

【Rust自学】7.2. 路径(Path)Pt.1:相对路径、绝对路径与pub关键字

喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 7.2.1. 路径的简介 在Rust里,如果想要找到模块里的某个东西,就必须知…

【数理统计】假设检验

文章目录 假设检验的概念单个总体正态分布的假设检验正态总体均值 μ \mu μ 的假设检验正态总体方差 σ 2 \sigma^2 σ2 的假设检验 两个总体正态分布的假设检验(略)例题 假设检验的概念 【定义】 H 0 H_0 H0​ 称为原假设, H 1 H_1 H1​…