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.hqwc.cn/news/86858.html

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

相关文章

高效便捷的法律咨询小程序的设计与实践

现如今&#xff0c;随着智能手机的普及和移动互联网的发展&#xff0c;小程序成为了一种新兴的应用形式。对于律师事务所来说&#xff0c;开发一款专属的法律咨询小程序&#xff0c;无疑可以为客户提供更加便捷和高效的服务。那么&#xff0c;对于初次接触小程序制作的新手来说…

js reverse实现数据的倒序

2023.8.25今天我学习了如何在数组顺序进行倒序排列&#xff0c;如&#xff1a; 原数组为&#xff1a; 我们只需要对数组使用reverse()方法 let demo [{id: 1, name: 一号},{id: 2, name: 二号},{id: 3, name: 三号},]demo.reverse()console.log(demo) 扩展&#xff1a; 当我…

软件工程(十四) 设计模式之结构型模式(二)

1、组合模式 简要说明 将对象组合成树形结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。 速记关键字 树形目录结构 类图如下 由类图其实可以看出,组合模式就是将具有父子关系的结构,组装形成一棵树,并且根据规范,树干节点和叶子节…

QNAP(威联通)NAS外远程访问指南,免费内网穿透工具的应用和配置指导——“cpolar内网穿透”

文章目录 前言1. 威联通安装cpolar内网穿透2. 内网穿透2.1 创建隧道2.2 测试公网远程访问 3. 配置固定二级子域名3.1 保留二级子域名3.2 配置二级子域名 4. 使用固定二级子域名远程访问 前言 购入威联通NAS后&#xff0c;很多用户对于如何在外在公网环境下的远程访问威联通NAS…

【具身智能】论文系列解读-RL-ViGen

1. RL-ViGen&#xff1a;视觉泛化的强化学习基准 RL-ViGen: A Reinforcement Learning Benchmark for Visual Generalization 0 摘要与总结 视觉强化学习&#xff08;Visual RL&#xff09;与高维观察相结合&#xff0c;一直面临着分布外泛化的长期挑战。尽管重点关注旨在解…

软考:中级软件设计师:数据库恢复与备份,故障与恢复,反规范化

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

CSDN每日一练 |『异或和』『生命进化书』『熊孩子拜访』2023-08-27

CSDN每日一练 |『异或和』『生命进化书』『熊孩子拜访』2023-08-27 一、题目名称&#xff1a;异或和二、题目名称&#xff1a;生命进化书三、题目名称&#xff1a;熊孩子拜访 一、题目名称&#xff1a;异或和 时间限制&#xff1a;1000ms内存限制&#xff1a;256M 题目描述&…

为什么这3类人,一定要选择无代码开发?

一个人也能开发出一个软件&#xff1f;这或许难以想象的&#xff0c;但无代码技术的问世&#xff0c;让这一切都成为现实。 可能很多人对“无代码”还是不太熟悉&#xff0c;但大家一定都听说过“码农”这个词&#xff0c;而无代码开发技术的出现&#xff0c;可以让我们摆脱这…

大数据——一文熟悉HBase

1、HBase是什么 HBase是基于HDFS的数据存储&#xff0c;它建立在HDFS文件系统上面&#xff0c;利用了HDFS的容错能力&#xff0c;内部还有哈希表并利用索引&#xff0c;可以快速对HDFS上的数据进行随时读写功能。 Hadoop在已经有一个HiveMapReduce结构的数据读写功能&#x…

【Python】从入门到上头—简介(1)

文章目录 一.编译型语言和解释型语言的区别二.Python是什么&#xff0c;Python简介三.Python优缺点四.Python能干什么&#xff0c;Python的应用领域五.Python编程环境搭建1.windows安装2.Linux&#xff08;Ubuntu&#xff09;系统安装Python 六.集成开发环境&#xff1a;PyChar…

基于飞腾芯片的设计与调试入门指导

一、啥是自主可控 国产CPU现在厂家细算起来其实有很多,现在华为、小米也在做自己的CPU,瑞芯微、全志等的SoC现在也是广泛应用。但是真正能叫做自主可控的CPU厂商,只有6家。那啥是自主可控?首先来不严谨的讲下现在数字芯片是怎么做的设计。FPGA大家都知道,可以通过Verilog…

Squaretest 1.8.3 安装激活

1. 插件下载 2. 离线安装 3. 插件激活