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

认识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.mzph.cn/pingmian/65181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5个实用的设计相关的AI网站

在这个日新月异的数字时代,我们不断面临着新的挑战和机遇。随着人工智能(AI)技术的飞速发展,越来越多的AI工具开始融入到设计相关的工作流程中,极大地提升了工作效率和创作能力。今天,我非常兴奋地向大家介…

云手机群控能用来做什么?

随着云手机的发展,云手机群控技术逐渐从小众的游戏多开工具,发展为涵盖多个领域的智能操作平台。不论是手游搬砖、短视频运营,还是账号养成等场景,云手机群控都展现出了强大的应用潜力。本文将为大家详细解析云手机群控的应用场景…

数据结构(哈希表(中)纯概念版)

前言 哈希表(Hash Table)是计算机科学中的一个基础而重要的数据结构,它广泛评估各种算法和系统中,尤其是在需要快速查找、插入和删除操作的场景中。由于其O( 1)的平均时间复杂度,存储表在性能要求较高的应用中表现得非…

Python使用requests_html库爬取掌阅书籍(附完整源码及使用说明)

教程概述 本教程先是幽络源初步教学分析掌阅书籍的网络结构,最后提供完整的爬取源码与使用说明,并展示结果,切记勿将本教程内容肆意非法使用。 原文链接:Python使用requests_html库爬取掌阅书籍(附完整源码及使用说明…

水库大坝三维模型开发bim篇

效果图 开发过程 使用了bimface 插件上传做好rvt模型到bimface工程引入bimface相关的插件代码加载模型自定义目录树定位构件闪烁构件展示构件信息 代码 技术交流加V:bloxed appKey 和appSecret 换成自己的就行 <template><div class"box-bim w100" ref&…

CSharp: Oracle Stored Procedure query table

存储过程查询postgreSQL,Oracle 和sql server,Mysql 有区别。程序调用也是有区别。 oracle sql script: CREATE OR REPLACE PROCEDURE procSelectSchool(paramSchoolId IN char,p_cursor OUT SYS_REFCURSOR ) AS BEGINOPEN p_cursor FORSELECT *FROM SchoolWHERE SchoolId p…

C语言基础——指针(4)

一&#xff0e; 字符指针变量 字符指针变量的使用和整型指针变量的使用方法相似&#xff0c;以下是其基本使用方法的例子&#xff1a; &#xff08;1&#xff09;字符指针变量还有一种使用方法&#xff1a; const char* p "abcd" 需…

Net9解决Spire.Pdf替换文字后,文件格式乱掉解决方法

官方文档 https://www.e-iceblue.com/Tutorials/Spire.PDF/Program-Guide/Text/Find-and-replace-text-on-PDF-document-in-C.html C# 在 PDF 中查找替换文本 原文件如下图&#xff0c;替换第一行的新编码&#xff0c;把41230441044替换为41230441000 替换代码如下&#xff…

【C语言程序设计——选择结构程序设计】预测你的身高(头歌实践教学平台习题)【合集】

目录&#x1f60b; 任务描述 相关知识 1、输入数值 2、选择结构语句 3、计算结果并输出 编程要求 测试说明 通关代码 测试结果 任务描述 本关任务&#xff1a;编写一个程序&#xff0c;该程序需输入个人数据&#xff0c;进而预测其成年后的身高。 相关知识 为了完成本…

【自动化测试】windows下安装Selenium浏览器界面测试工具

Date: 2024.12.23 10:15:53 author: lijianzhan 简述&#xff1a;这篇教程详细介绍了如何在Windows环境下安装selenium&#xff0c;并设置Chrome浏览器驱动。什么是Selenium&#xff1f;Selenium是一个基于浏览器的自动化测试工具&#xff0c;它提供了一种跨平台、跨浏览器的端…

前端网络之【浏览器跨域问题分析与解决方案】

文章目录 同源策略同源与异源跨域的限制场景解决方案 CORS 请求分类 简单请求预检请求 注意点一 【关于Cookie】注意点二 【关于跨域获取响应头】 JSONP 基本流程 代理服务器 如何选择对应方案 同源策略 **同源策略是一套浏览器的安全策略机制&#xff0c;当一个源的文档和脚…

老旧小区用电安全保护装置#限流式防火保护器参数介绍#

摘要 随着居民住宅区用电负荷的增加&#xff0c;用电安全问题日益突出&#xff0c;火灾隐患频繁发生。防火限流式保护器作为一种新型电气安全设备&#xff0c;能够有效预防因电气故障引发的火灾事故。本文介绍了防火限流式保护器的工作原理、技术特点及其在居民住宅区用电系统…

论文复刻:ESG表现对企业价值的影响机制研究——A股上市公司证据(2009-2023年)

参照王波&#xff08;2022&#xff09;的做法&#xff0c;对来自软科学《ESG表现对企业价值的影响机制研究——来自我国A股上市公司的经验证据》一文中的基准回归部分进行复刻 以中国2009-2023年A股上市公司为研究样本考察企业的环境、社会和治理&#xff08;ESG&#xff09;表…

小程序租赁系统开发指南与实现策略

内容概要 在如今这个快节奏的时代&#xff0c;小程序租赁系统的开发正逐渐成为许多商家提升服务质量与效率的重要选择。在设计这样一个系统时&#xff0c;首先要明白它的核心目标&#xff1a;便捷、安全。用户希望在最短的时间内找到需要的物品&#xff0c;而商家则希望通过这…

[2003].第2-01节:关系型数据库表及SQL简介

所有博客大纲 后端学习大纲 MySQL学习大纲 1.数据库表介绍&#xff1a; 1.1.表、记录、字段 1.E-R&#xff08;entity-relationship&#xff0c;实体-联系&#xff09;模型中有三个主要概念是&#xff1a; 实体集 、 属性 、 联系集2.一个实体集&#xff08;class&#xff09…

git推送本地仓库到远程(Gitee)

目录 一、注册创建库 二、创建仓库 三、推送本地仓库到远程 1.修改本地仓库用户名和邮箱 2.本地库关联远程仓库 3.拉取远程仓库的文件 4.推送本地库的文件 5.查看远程仓库 四、远程分支查看 1.查看远程分支 2.修改test.txt文件 一、注册创建库 Gitee官网&#xff1…

GoZero框架接入数据库引擎Gorm 并实战:构建简单的 CRUD 业务API

GoZero 是一个高性能的微服务框架&#xff0c;它基于 Go 语言开发&#xff0c;提供了丰富的工具支持&#xff0c;能够帮助开发者快速构建可扩展、易维护的应用。Gorm 是 Go 语言中常用的 ORM 库&#xff0c;它帮助我们简化数据库操作&#xff0c;使用面向对象的方式进行增删改查…

KNN分类算法 HNUST【数据分析技术】(2025)

1.理论知识 KNN&#xff08;K-Nearest Neighbor&#xff09;算法是机器学习算法中最基础、最简单的算法之一。它既能用于分类&#xff0c;也能用于回归。KNN通过测量不同特征值之间的距离来进行分类。 KNN算法的思想&#xff1a; 对于任意n维输入向量&#xff0c;分别对应于特征…

探索Flink动态CEP:杭州银行的实战案例

摘要&#xff1a;本文撰写自杭州银行大数据工程师唐占峰、欧阳武林老师。将介绍 Flink 动态 CEP的定义与核心概念、应用场景、并深入探讨其技术实现并介绍使用方式。主要分为以下几个内容&#xff1a; Flink动态CEP简介 Flink动态CEP的应用场景 Flink动态CEP的技术实现 Flin…

打造高效租赁小程序让交易更便捷

内容概要 在如今节奏飞快的商业世界里&#xff0c;租赁小程序如同一只聪明的小狐狸&#xff0c;迅速突围而出&#xff0c;成为商家与消费者之间的桥梁。它不仅简化了交易流程&#xff0c;还在某种程度上将传统租赁模式带入了互联网时代。越来越多的企业意识到&#xff0c;这种…