Linux 三剑客

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.mzph.cn/news/62265.shtml

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

相关文章

阿里云centos9stream安装宝塔+vscode(code-server)集成云端开发环境

一、 安装宝塔面板 官网 https://www.bt.cn/new/download.htm 题外话&#xff1a;虽然感觉现在宝塔没以前好用了&#xff0c;而且有centos7、8 mysql编译导致OOM服务器挂掉无法ssh登录的情况&#xff0c;但他还是远程管理服务器的好选择&#xff0c;提示宝塔只支持最新的centos…

常见矿石材质鉴定VR实训模拟操作平台提高学员的学习效果和实践能力

随着“元宇宙”概念的不断发展&#xff0c;在矿山领域中&#xff0c;长期存在传统培训内容不够丰富、教学方式单一、资源消耗大等缺点&#xff0c;无法适应当前矿山企业发展需求的长期难题。元宇宙企业借助VR虚拟现实、web3d开发和计算机技术构建的一个虚拟世界&#xff0c;为用…

SpringBoot虚拟路径映射

要求&#xff1a;访问&#xff1a;127.0.0.1/image/下的文件时&#xff0c;自动映射到真实路径&#xff1a;D:Files\。 virtualFileDepositPath: /image/** realityFileDepositPath: C:\Users\xin\Desktop\imgCreate\Files\ import org.springframework.beans.factory.annota…

编写c语言程序调用openssl编译出的动态链接库

文章目录 一、编译生成链接库二、示例一&#xff1a;调用RAND_bytes函数三、示例二&#xff1a;调用SHA256 一、编译生成链接库 下载安装openssl并编译生成链接库的过程在我的另一篇文章中已经详细说明了&#xff1a;Ubuntu中安装OpenSSL 此外&#xff0c;我们还需要提前了解…

微服务之Nacos

1 版本说明 官网地址&#xff1a; https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 1.1 2021.x 分支 适配 SpringBoot 2.4, Spring Cloud 2021.x 版本及以上的Spring Cloud Alibaba 版本如下表&#xff08;最新版本用*标记&am…

RHCE——十三、Shell自动化运维编程基础

Shell 一、为什么学习和使用Shell编程二、Shell是什么1、shell起源2、查看当前系统支持的shell3、查看当前系统默认shell4、Shell 概念 三、Shell 程序设计语言1、Shell 也是一种脚本语言2、用途 四、如何学好shell1、熟练掌握shell编程基础知识2、建议 五、Shell脚本的基本元素…

docker-compose安装opengauss数据库

文章目录 1. docker-compose.yaml2. 部署3. 卸载4. 连接 1. docker-compose.yaml mkdir -p /root/i/docker-compose/opengauss && cd /root/i/docker-compose/opengausscat <<EOF> /root/i/docker-compose/opengauss/docker-compose.yaml version: 3 service…

计算机竞赛 基于机器视觉的停车位识别检测

简介 你是不是经常在停车场周围转来转去寻找停车位。如果你的车辆能准确地告诉你最近的停车位在哪里&#xff0c;那是不是很爽&#xff1f;事实证明&#xff0c;基于深度学习和OpenCV解决这个问题相对容易&#xff0c;只需获取停车场的实时视频即可。 该项目较为新颖&#xf…

MongoDB实验——在MongoDB集合中查找文档

在MongoDB集合中查找文档 一、实验目的二、实验原理三、实验步骤1.启动MongoDB数据库、启动MongoDB Shell客户端2.数据准备-->person.json3.指定返回的键4 .包含或不包含 i n 或 in 或 in或nin、$elemMatch&#xff08;匹配数组&#xff09;5.OR 查询 $or6.Null、$exists7.…

【JavaScript精通之道】掌握数据遍历:解锁现代化遍历方法,提升开发效率!

​ &#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! ​ 目录 &#x1f4da; 前言 &#x1f4d8; 1. reduce方法 &#x1f4d8; 2. forEach方法 &#x1f4d8; 3. map方法…

浏览器连不上 Flink WebUI 8081 端口

安装 flink-1.17.0 后&#xff0c;start-cluster.sh 启动&#xff0c;发现浏览器连不上 Flink WebUI 的8081端口。 问题排查&#xff1a; command R&#xff0c;输入cmd&#xff0c;检查宿主机能否ping通虚拟机&#xff0c;发现能ping通。 检查是否有flink以外的任务占用8081…

一体化数据安全平台 uDSP 获“金鼎奖”优秀金融科技解决方案奖

近日&#xff0c;2023 年中国国际金融展“金鼎奖”评选结果揭晓&#xff0c;原点安全打造的“一体化数据安全平台 uDSP”产品获评“金鼎奖”优秀金融科技解决方案奖。该产品目前已广泛应用于银行业、保险企业、证券、医疗、互联网、政务、在线教育等诸多领域。此次获奖再次印证…

如何避免重复消费消息

博主介绍&#xff1a;✌全网粉丝3W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

这个 AI 机器人会怼人,它是怎么做到的?

近期&#xff0c;机器人“Ameca”接入了 Stable Diffusion&#xff0c;它一边与旁边的人类工程师谈笑风生&#xff0c;一边熟练地用马克笔在白板上画出一只简笔的猫&#xff0c;最后还在白板右下角签名。 当 Ameca 询问工程师是否对它的作品是否满意时&#xff0c;工程师回答“…

光流法相关论文-LK光流法,HS光流法,Farneback光流法,FlowNet: 端到端的深度光流估计, RAFT: 结构化的光流估计

目录 光流法 1. Lucas-Kanade光流法&#xff08;稀疏光流法&#xff09;&#xff1a; 2. Horn-Schunck光流法&#xff08;稠密光流法&#xff09;&#xff1a; 3. Farneback光流法&#xff1a; 4 FlowNet: 端到端的深度光流估计&#xff1a; 5. RAFT: 结构化的光流…

基于空洞卷积DCNN与长短期时间记忆模型LSTM的dcnn-lstm的回归预测模型

周末的时候有时间鼓捣的一个小实践&#xff0c;主要就是做的多因子回归预测的任务&#xff0c;关于时序数据建模和回归预测建模我的专栏和系列博文里面已经有了非常详细的介绍了&#xff0c;这里就不再多加赘述了&#xff0c;这里主要是一个模型融合的实践&#xff0c;这里的数…

[论文笔记]DSSM

引言 这是DSSM论文的阅读笔记,后续会有一篇文章来复现它并在中文数据集上验证效果。 本文的标题翻译过来就是利用点击数据学习网页搜索中深层结构化语义模型,这篇论文被归类为信息检索,但也可以用来做文本匹配。 这是一篇经典的工作,在DSSM之前,通常使用传统机器学习的…

iOS 使用coreData存贮页面的模型数据中的字典

我们使用coreData时候&#xff0c;会遇到较为复杂的数据类型的存贮&#xff0c;例如&#xff0c;我们要存一个模型&#xff0c;但是一个模型里面有个字典&#xff0c;这时候&#xff0c;我们该如何存贮呢 如图所示&#xff0c;一个对象中含有一个字典 我们实现一个公共的方法…

【ArcGIS Pro二次开发】(64):多分式标注

在ArcGIS中有时会遇到需要二分式标注的情况&#xff0c;有时甚至是三分式、四分式。 通过输入标注表达式&#xff0c;可以做出如下的效果&#xff0c;但是代码不短&#xff0c;每次都要输一遍也挺麻烦。 网上也有一些分式标注的python工具&#xff0c;但不够直观&#xff0c;于…