Linux 三剑客

news2024/11/15 8:56:19

grep

        grep主打的就是查找功能 ,它能够在一个或者多个文件中搜索某一特定的字符模式。

grep的语法

        grep [选项] 模式 文件名

先说选项:

1.选项

        要么是正则要么是字符串

-c       列出共出现多少次

-i        忽略大小写

-n       在前面列出行号

-v       列出没有匹配的 换句话说 反着来

-r        迭代

 2. 模式

        这里说白了就是写你要查的目标字符串 可以用“ ”隔开来构成字符串 当然也可以使用 正则表达式

sed

        啥是sed?以我的理解就是以非交互的形式 对一个文件进行增删改查,所以我可以认为sed是一个行编辑器。

sed的原理

        我们在使用之前要了解其原理的,它其实是将原数据拷贝到内存上处理,因此操作的结果是对原数据没有任何“伤害”的。

sed 的语法

        sed [选项] '{command}[flags]' [filename]

那么我们先介绍内部命令也就是command部分的内容

1.command

        这里其实可以叫做内部命令,我们将从增删改查的方向来进行讲解:

        1.增

a + 要加的内容 (默认每行)

当然可以在a前面添加模糊匹配 形如 /^***/ 这样的字段  ***表示的是要模糊查询的目标字符

我们注意到了上图表达了  a 就是尾插 那肯定还有一个前插咯

i 代表的是 前插~~ 用法与上述类似

2.删

其关键字就是d 

3.改

又分为替换、转换;

        s:替换的意思就是将原字符串替换成一个新的字符串~~

将全部的student替换成boy了/g代表的就是全部 当然这是flag的内容

       y: 转换是对字符就比如说

         c:是全文改变

4.查

        那就是 p

要注意的是直接使用p的话会重复打印 因为会打印俩部分 一是文本还有就是内存的也会被打印出来

2.选项

        所有命令的选项都是对命令的增强

-e 植入多个命令 用;隔开

-f 调用写入文件里面的命令

-n 抑制内存输出

-r 正则表达式

-i 就是直接修改源文件了 而不是在内存上

        当然这里要考虑到安全性 因此 基本上使用的是 -i.xxx 搞一个备份存储上去

3.标志(flag)

        跟在command后面的做补充

数字 : 就代表第几个进行操作(可能会找到多个匹配的点)

g:全部

w:写入到...进行备份

p:打印输出

awk

        是一种可以处理数据,产生格式化报表的语言

先搞懂 如何划分行列的:行区分(换行符) 列区分(一个/多个 空格 或者是tab制表符)

awk语法

        awk [options] [BEGIN]{program}[END][FILENAME]

有几个要注意的点:一是命令需要用 ' ' 包起来,二是要有{}包裹program

接下来我将从 行截取 列截取分别讲解awk的基本应用

列截取(字段)

        我们将数据的列称作字段,具体的截取规则如下

$0 代表的是整个文本

$N 代表第几列

$NF 代表了最后一列

当然了,这里应该是默认空格或者多个空格作为分割的,我们也可以自定义一下分隔符,也是选项中的内容了 -F "**" (**代表了自定义的分隔符)

行截取(记录)

        我们将行叫做记录~~,那么对于行的截取有俩种方式:1、正则表达式   2、NR指定行号

直接用NR指定的方式如下:

 

那么使用正则表达式的话:

 

以上内容既然有了行,列;我们就可以定义某个点咯~~

 

程序的优先级

        在awk语法上面,我们注意到了有BEGIN END的这样子的字段,那么代表的啥呢?

BEGIN :处理数据源之前干什么        也就是说 不需要有数据源就可以执行了

PROGRAM :对数据源干了什么

END : 处理完数据源之后干了什么

         

注意到上面的命令中是没有数据源的。

高级应用

        既然前面提到了awk是一门语言,那肯定有变量、运算了。

 1.变量(容器)

        说到容量,简单理解就是一个放在内存的临时容器,需要临时存储就放进去,需要用到就取出来。

        

当然还有数组了:         

 用法都差不多,不再赘述

2.运算

        赋值运算        =

        比较                > < >= <= ==

        数学                + - * / %

        逻辑                && || !

        匹配                ~ !~ (模糊)    == (精确)

 

 

0代表假..

环境变量

        常见的内置变量:

FIELDWIDTHS 定义了字段的宽度(列与列之间的)

FS 相当于-F 可以自定义分隔符

OFS 输出想要呈现到屏幕上的分隔符

RS 那就是行分隔符咯

ORS 同理

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/934593.html

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

相关文章

分类模型评估指标——准确率、精准率、召回率、F1、ROC曲线、AUC曲线

机器学习模型需要有量化的评估指标来评估哪些模型的效果更好。 本文将用通俗易懂的方式讲解分类问题的混淆矩阵和各种评估指标的计算公式。将要给大家介绍的评估指标有&#xff1a;准确率、精准率、召回率、F1、ROC曲线、AUC曲线。 机器学习评估指标大全 所有事情都需要评估好…

Mycat之前世今生

如果我有一个32核心的服务器&#xff0c;我就可以实现1个亿的数据分片&#xff0c;我有32核心的服务器么&#xff1f;没有&#xff0c;所以我至今无法实现1个亿的数据分片。——MyCAT ‘s Plan 话说“每一个成功的男人背后都有一个女人”&#xff0c;自然MyCAT也逃脱不了这个诅…

AI自动驾驶也“区分人种”?有色人种和儿童面临更高碰撞风险

8月27日消息&#xff0c;随着人工智能&#xff08;AI&#xff09;的快速发展&#xff0c;尤其是在自动驾驶汽车领域&#xff0c;这项技术给人类带来了巨大的便利。 然而&#xff0c;据最新的研究发现&#xff0c;自动驾驶汽车中的行人检测软件可能存在一些严重问题&#xff0c;…

章节 3:React.js基础 -《React.js手把手教程:从初学者到实战高手》- 第一部分:React.js基础

《React.js手把手教程&#xff1a;从初学者到实战高手》 第一部分&#xff1a;React.js基础 章节 3&#xff1a;React.js基础 在这一章中&#xff0c;我们将进一步了解 React.js 的基础知识。我们会从最基本的 React 组件开始&#xff0c;逐步引导你进入 React.js 的世界。 …

RocketMQ同步复制和异步复制

如果一个Broker组有Master和Slave&#xff0c;消息需要从Master复制到Slave上&#xff0c;有同步和异步两种复制方式。 1)同步复制 同步复制方式是等Master和Slave均写成功后才反馈给客户端写成功状态&#xff1b; 在同步复制方式下&#xff0c;如果Master出故障&#xff0c…

调用paddleocr接口实现文本检测与识别,并在图像中显示识别结果

目录 一、按照官网步骤安装paddlepaddle和paddleocr(paddlepaddle我安装的是cpu版本) 二、运行下面的脚本 三、图像结果 一、按照官网步骤安装paddlepaddle和paddleocr(paddlepaddle我安装的是cpu版本) doc/doc_ch/quickstart.md PaddlePaddle/PaddleOCR - Gitee.com 二、…

IDEA对Web和Tomcat的一些配置

这里只是做了自己学习中的一点记录&#xff0c;仅供参考哈&#xff01; 配置Tomcat Modules新增Web 新增module后新增Artifacts 新增Artifacts后Tomcat新增布署 将指定的module由普通java项目变成web项目 直接创建布署到Tomcat时所需要的Aritifacts包 配置Servlet的依赖包 配置…

初识【类和对象】

目录 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 4.类的访问限定符及封装 5.类的作用域 6.类的实例化 7.类的对象大小的计算 8.类成员函数的this指针 1.面向过程和面向对象初步认识 C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的…

Java进阶篇--创建线程的四种方式

目录 继承Thread类 扩展小知识&#xff1a; Thread类的常见方法 Thread 类的静态方法 实现Runnable接口 使用Callable和Future创建线程 使用Executor框架创建线程池 继承Thread类 创建一个继承自Thread类的子类&#xff0c;并重写其run()方法&#xff0c;将相关逻辑实现…

Flink CDC数据同步

背景 随着信息化程度的不断提高&#xff0c;企业内部系统的数量和复杂度不断增加&#xff0c;因此&#xff0c;数据库系统的同步问题已成为越来越重要的问题。 缓存失效 在缓存中缓存的条目(entry)在源头被更改或者被删除的时候立即让缓存中的条目失效。如果缓存在一个独立的…

“返璞归真,数字排毒”,放下智能手机,美国功能手机卷土重来

近年来&#xff0c;智能手机的普及已经改变了人们的生活方式和沟通方式。然而&#xff0c;随着科技的不断进步和不断涌现的各种新应用程序&#xff0c;一些年轻人开始感到疲惫和厌倦。他们觉得智能手机带来了太多的干扰和依赖&#xff0c;也让人们容易沉迷于社交媒体和短视频。…

Rabbitmq的Federation Exchange

(broker 北京 ) &#xff0c; (broker 深圳 ) 彼此之间相距甚远&#xff0c;网络延迟是一个不得不面对的问题。有一个在北京的业务(Client 北京 ) 需要连接 (broker 北京 ) &#xff0c;向其中的交换器 exchangeA 发送消息&#xff0c;此时的网络延迟很小&#xff0c;(C…

全球边缘计算大会的十大至暗时刻

来源网友X小缘 ① 背景板文字全球边缘计算大会&#xff0c;被广告公司改为全球边缘计算机大会&#xff0c;因为他觉得少了个机字&#xff1b; ② 明天开会&#xff0c;今天遇到恶劣天气&#xff0c;讲师主持人一整晚滞留外地机场&#xff1b; ③ 视频直播的时候声音通道没开&am…

Redis数据结构全解析【超详细万字分析】

文章目录 前言一、SDS1、SDS的必要性2、SDS的数据结构3、SDS的优势O&#xff08;1&#xff09;复杂度获取字符串长度二进制安全不会发生缓冲区溢出节省空间 二、链表1、结构设计2、优缺点 三、压缩列表1、结构设计2、连续更新3、压缩列表的缺陷 四、哈希表1、结构设计2、哈希冲…

236. 二叉树的最近公共祖先-优化

本期我们对该题进行优化&#xff0c;不知道题目的小伙伴建议先看看之前的 236. 二叉树的最近公共祖先_KLZUQ的博客-CSDN博客 我们要将时间复杂度优化为O(N) class Solution { public:bool FindPath(TreeNode* root, TreeNode* x,stack<TreeNode*>& path){if(rootnul…

Kubernetes(K8s)基本环境部署

此处只做学习使用&#xff0c;配置单master环境。 一、环境准备 1、ip主机规划&#xff08;准备五台新机&#xff09;>修改各个节点的主机名 注意&#xff1a;关闭防火墙与selinux 节点主机名ip身份joshua1 kubernetes-master.openlab.cn 192.168.134.151masterjoshua2k…

无涯教程-分类算法 - 朴素贝叶斯

朴素贝叶斯算法是一种基于应用贝叶斯定理的分类技术&#xff0c;其中强烈假设所有预测变量彼​​此独立。简而言之&#xff0c;假设是某个类中某个要素的存在独立于同一类中其他任何要素的存在。 在贝叶斯分类中&#xff0c;主要的兴趣是找到后验概率&#xff0c;即给定某些观…

抽象类和接口有什么区别?

在 Java 中&#xff0c;抽象类和接口是两种不同的类类型。它们都不能直接实例化&#xff0c;并且它们都是用来定义一些基本的属性和方法的&#xff0c;但它们有以下几点不同&#xff1a; 定义不同&#xff1a;定义的关键字不同&#xff0c;抽象类是 abstract&#xff0c;而接口…

Linux操作系统--包管理yum

1.概述 YUM(全称为 Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 CentOS中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。…

软考:中级软件设计师:数据库并发控制,完整性约束,数据库安全

软考&#xff1a;中级软件设计师:数据库并发控制 提示&#xff1a;系列被面试官问的问题&#xff0c;我自己当时不会&#xff0c;所以下来自己复盘一下&#xff0c;认真学习和总结&#xff0c;以应对未来更多的可能性 关于互联网大厂的笔试面试&#xff0c;都是需要细心准备的…