正则表达式命令

news2024/10/6 4:10:07

文章目录

  • 一.基础命令
    • 1.grep命令
      • 1.1grep格式
      • 1.2grep命令选项
    • 2.特殊的符号
      • 2.1空行——^$
      • 2.2以什么为开头—^,以什么为结尾—$
        • 2.2.1以什么为开头的格式:
        • 2.2.2以什么为结尾的格式:
      • 3.只匹配单行——^匹配的字符$
  • 二.文本处理命令
    • 1.sort命令
      • 1.1命令解释及格式
      • 1.2常用选项
    • 2.uniq命令——快捷去重
      • 2.1 格式
      • 2.2常用选项
    • 3.tr命令
      • 3.1语法格式:
      • 3.2常用选项:
    • 4.cut命令——快速裁剪
      • 4.1cut截取方法
      • 4.2格式
      • 4.3选项
      • 4.4示例
    • 5.split——文件拆分
      • 5.1格式
      • 5.2选项
      • 5.3示例
    • 6.paste——合并文件
      • 6.1格式
      • 6.2选项
    • 7.拓展
      • 7.1统计当前主机的连接状态
      • 7.2统计当前连接主机数

一.基础命令

1.grep命令

对文本的内容进行过滤,针对行处理

1.1grep格式

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

1.2grep命令选项

-m+数字——————匹配几次后停止

eg:grep -m 1 root /etc/passwd————————————多个匹配只取

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LSGtYGYq-1685701824028)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602142246571.png)]

-v  ————————取反

eg:grep -v root /etc/passwd————————————————除了root其余展示出来

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hdofBbgk-1685701824030)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602142742489.png)]

-i —————————忽略字符大小写

eg:grep -i Root /etc/passwd————————————————不考虑大小写展示出来

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7XPNWlym-1685701824030)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602143112862.png)]

-n——————————显示匹配行号

eg:grep -n root /etc/passwd

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ot6zA9kt-1685701824031)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602143425384.png)]

-c—————————只显示匹配行号

eg:grep -c root /etc/passwd

在这里插入图片描述

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

eg:grep -o root /etc/passwd

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m1E7px8O-1685701824031)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602143847711.png)]

-A——————————匹配自身当前行的后三行,包含自身展示出来

eg:grep -A 3 zjf /etc/passwd

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PdGNFTln-1685701824032)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602144329840.png)]

-B————————————自身前几行包含自身展示

eg:grep -B 3 zjf /etc/passwd

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iUFvCwAK-1685701824032)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602144549223.png)]

-C————————————本身的前三行和后三行以及本身展示出

eg:grep -C 3 zjf /etc/passwd

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dRwgv3Nq-1685701824032)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602144954638.png)]

-e——————————————逻辑或,可以跟多个条件,若有显示,没有不显示

eg:grep -e root -e bash /etc/passwd

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JpntENZ6-1685701824033)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602145747572.png)]

-w————————————匹配整个单词

eg:grep -w root /etc/passwd

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JIaL32hd-1685701824033)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602150124918.png)]

-E——————————表示使用扩展正则相当于egrep
-f——————————根据模式文件处理两个文件的相同内容,第一个文件作为匹配条件

eg:grep -f 123.txt 456.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BW9744BW-1685701824033)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602150904558.png)]

-r——————————递归目录文件当中的文件内容所包含的想要的文件内容
不对软链接处理

eg:grep -r a /opt/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3wS0pJA5-1685701824034)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602151623970.png)]

-R——————————可以处理软链接中的文件内容

eg:grep -R a /opt/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rTDTBiia-1685701824034)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602151836620.png)]

2.特殊的符号

2.1空行——^$

示例:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JbtVhtJI-1685701824034)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602152458433.png)]

cat 123.txt | grep -v "^$" > test.txt————过滤掉123.txt里的空行将内容传送给test.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e5ICWYj4-1685701824034)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602152740158.png)]

2.2以什么为开头—^,以什么为结尾—$

2.2.1以什么为开头的格式:

grep “^所要让开头的字符” 文件名

示例:

grep "^4" 123.txt

 grep "^a" 123.txt 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iqPWm943-1685701824035)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602153842148.png)]

2.2.2以什么为结尾的格式:

grep “^所要让开头的字符” 文件名

示例:

grep "h$" 123.txt 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3mRCVGV6-1685701824035)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602154141168.png)]

3.只匹配单行——^匹配的字符$

格式:
^匹配的字符$

示例:

grep -n "^root$" dh.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5A2oWdb5-1685701824035)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602154717545.png)]

二.文本处理命令

1.sort命令

1.1命令解释及格式

以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序

语法格式:

sort 选项 参数

1.2常用选项

-f————————————————忽略大小写,默认会大写字母排在前面

eg:sort -f test.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PSt7vCAL-1685701824036)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602155817235.png)]

-b——————————————只排序不会忽略空格,忽略每行前面的空格

eg:sort -b test.txt

在这里插入图片描述

-n:按照数字进行排序

eg:sort -n test.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-17mYvmVR-1685701824036)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602160733689.png)]

-r:针对字母的反向排序

eg:sort -r test.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tw3X42Ni-1685701824036)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602161202272.png)]

-u:等同uniq,表示相同的数据仅显示一行,去重

eg:sort -u test.txt

在这里插入图片描述

-o <输出文件>:将排序后的结果转存至指定文件

eg:cat /opt/test.txt | sort -o zjf.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vtzIn0Ba-1685701824037)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602162550200.png)]

按原来的行一模一样的传到新的文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RUCg5lXV-1685701824037)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602162917014.png)]

2.uniq命令——快捷去重

uniq命令用于报告或者忽略文件中连续的重复行,常与sort命令结合使用。

2.1 格式

uniq [选项] 参数
cat 文件| uniq 选项

2.2常用选项

-c——————————————统计连续重复的行的次数,并且合并重复的行

eg:uniq -c test1.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xuEVhMlb-1685701824038)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602164512538.png)]

去重排序:

cat test1.txt | uniq -c test1.txt | sort -n

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-etBlhPsj-1685701824038)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602164711073.png)]

-u——————————————显示仅出现一次的行(包括不连续的重复行)

eg:uniq -u test1.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oDxAiuaq-1685701824038)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602165105360.png)]

-d	仅显示重复出现的行(必须是连续的重复行)

eg:uniq -d test1.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h9K2KTOc-1685701824039)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602165632674.png)]

3.tr命令

常用于对来自标准输入的字符进行替换、压缩和删除

参数:

字符集1:
指定要转换或删除的原字符集。当执行转换操作时,
必须使用参数”字符集2“指定转换操作时,必须使用参数”字符集2“指定转换的目标字符集。
但执行删除操作时,不需要参数”字符集2“

字符集2:
指定要转换成的目标字符集

3.1语法格式:

tr 选项 参数

3.2常用选项:

-c:保留字符集1的字符,其他的字符(包括换行符\n)用字符集2替换

eg:echo abc | tr -c ‘ab’ ‘a’

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XvmdV6ji-1685701824039)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602175012821.png)]

-d:删除所有属于字符集1的字符

eg:echo abc | tr -d ‘ab’————————删除ab,打印c

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CEJa77XG-1685701824040)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602175215342.png)]

-s:将重复出现的字符串压缩为一个字符串,用字符集2 替换 字符集1

eg:cat xx.txt | tr -s “w” “b”

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S8GV9VUl-1685701824040)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602180045338.png)]

-t:字符集2 替换 字符集1,不加也行

eg:echo 192.168.198.11 | tr “.” “:”

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p5gDSIG5-1685701824040)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602180239906.png)]

echo 192.168.198.11 | tr -d “.”

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9nsQ0jww-1685701824040)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602180334654.png)]

将 echo $PATH中的":"替换为换行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zKVyFMkw-1685701824040)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602180611435.png)]

4.cut命令——快速裁剪

4.1cut截取方法

cut截取方法
对字段进行截取和剪裁

4.2格式

格式一:cut [选项] 参数
格式二:cat 文件名 | cut [选项]

4.3选项

-d	          指定分隔符(默认分隔符为Tab)
-f 	          按字段进行截取。指定第n个字段;
-b	          以字节为单位进行截取
-c	          以字符为单位进行截取
–complement	  排除所指定的字段
–output-delimiter	更改输出内容的分隔符

4.4示例

(1)cut -d ":" -f 1-3 /etc/passwd————————以":"作为分隔符,指定第一个到第三个字段进行输出
cat /etc/passwd | cut -d ":" -f 1-3

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PWxTcPmg-1685701824041)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602181156535.png)]

 head -n 2 /etc/passwd | cut -d ":" --complement -f 2————————指定以":"作为分隔符,但是删除了第二个字段进行输出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XECcMAHA-1685701824041)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230602181541183.png)]

 head -n 2 /etc/passwd | cut -d ":" --complement -f 1-5 --output-delimiter="@"——————————将分隔符转换为@,进行输出

在这里插入图片描述

5.split——文件拆分

split命令用于在Linux下将大文件拆分为若干小文件。

5.1格式

split 选项 参数 原始文件 拆分后文件名前缀

5.2选项

-l	指定行数对文件拆分
-b	指定文件的大小拆分

5.3示例

split -l 20 test6.txt sc
split -b 2m test6.txt dx

在这里插入图片描述

6.paste——合并文件

按照字段来进行文件的合并

6.1格式

paste [选项] 文件1 文件2

6.2选项

-d	用于指定文件的分隔符(默认情况下为制表符"\n")
-s	将列和行的内容进行互相交换

paste和cat合并有什么区别

cat是上下合并

paste是左右合并
在这里插入图片描述

7.拓展

7.1统计当前主机的连接状态

ss -nta | grep -v ‘^State’ |cut -d " " -f 1| sort | uniq -c
3 ESTAB #表示建立的 TCP 连接处于活动状态
17 LISTEN

7.2统计当前连接主机数

ss -nt | tr -s " "|cut -d " " -f 5 | sort -n | uniq -c
1 Local
2 192.168.233.21:22

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

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

相关文章

打电话用什么耳机好,推荐几款性能表现高的骨传导耳机

近几年有一种新型传播方式的耳机&#xff0c;将声音转化为振动&#xff0c;从而让我们的听觉神经感知到。这种声音传播方式叫做"骨传导"&#xff0c;所以叫做骨传导耳机。因为它不需要通过耳膜进行传播声音&#xff0c;所以可以让耳朵在不接触外界的情况下听到声音。…

SpringCloud(四)

文章目录 Ribbon负载均衡负载均衡原理源码跟踪1&#xff09;LoadBalancerIntercepor2&#xff09;LoadBalancerClient3&#xff09;负载均衡策略IRule4&#xff09;总结 Ribbon负载均衡 在springcloud&#xff08;三&#xff09;中&#xff0c;我们添加了LoadBalanced注解&…

Burp模块

Target模块 记录流量 1.Target按主机或域名分类记录 2.HTTP History 按时间顺序记录且会记录很多次 3.Target模块的作用 &#xff08;1&#xff09;把握网站的整体情况 &#xff08;2&#xff09;对一次工作的域进行分析 &#xff08;3&#xff09;分析网站存在的攻击面 …

day 38,509. 斐波那契数70. 爬楼梯;# 746. 使用最小花费爬楼梯

动态规划 五步分析509. 斐波那契数1. dp数组以及下标名义2. 递归公式3. dp数组如何初始化4. 遍历顺序&#xff08;背包问题先遍历背包还是物品&#xff09;5. 打印dp数组&#xff1a;debug6.代码 70. 爬楼梯1. dp数组以及下标名义2. 递归公式3. dp数组如何初始化4. 遍历顺序5. …

idea部署Tomcat

创建Web项目 我们首先使用IDEA创建一个普通的java项目 创建好后的项目结构如上图&#xff0c;我创建的项目名称为tomcat&#xff0c;这个项目现在还是一个普通的java项目&#xff0c;想要开发web程序&#xff0c;我们还要做一下操作&#xff0c;首先我们先给项目添加依赖 首先…

皮卡丘Unsafe Fileupload

1.不安全的文件上传漏洞概述 文件上传功能在web应用系统很常见&#xff0c;比如很多网站注册的时候需要上传头像、上传附件等等。当用户点击上传按钮后&#xff0c;后台会对上传的文件进行判断 比如是否是指定的类型、后缀名、大小等等&#xff0c;然后将其按照设计的格式进行…

chatgpt赋能python:Python升序数函数:从入门到实战

Python升序数函数&#xff1a;从入门到实战 Python是一门广泛应用于软件开发、数据分析、人工智能等领域的高级编程语言。其中&#xff0c;对数值类型的处理尤为突出&#xff0c;而Python中提供了许多方便实用的数学函数来支持数值类型的计算。本篇文章将主要介绍Python中如何…

皮卡丘存储型xss、DOM型xss、DOM型xss-x

1.存储型xss 看题目&#xff0c;我们先留言&#xff0c;看它的过滤机制 发现可以永久存储并输出我们的留言 之后插入payload: <script>alert(xss)</script> 成功弹窗&#xff01; 2.DOM型xss Dom型xss&#xff0c;简单的说&#xff0c;就是向文档对象传入xss参…

ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置

之前一直使用Odoo源码配置开发环境&#xff0c;安装的步骤比较多&#xff0c;费时。趁着升级到16版本的机会&#xff0c;尝试使用docker快速配置Odoo的VSCode开发环境。 1 系统环境 &#xff08;1&#xff09;操作系统&#xff1a;ubuntu 20.04 Alternative downloads | Ubu…

高完整性系统(1)Introduction

文章目录 什么是 formal methods案例1&#xff1a;造影机器案例2&#xff1a; 特斯拉汽车的自动驾驶功能案例3&#xff1a;空客 320案例4&#xff1a;波音737 什么是 formal methods “Formal methods” 是计算机科学中的一个术语&#xff0c;它指的是一种使用数学模型和技术来…

chatgpt赋能python:Python匹配空格

Python匹配空格 在Python中&#xff0c;空格是一个常见的字符&#xff0c;在字符串和文本处理中非常常见。但是&#xff0c;在某些情况下&#xff0c;我们需要匹配字符串中的空格&#xff0c;这个时候就需要使用Python匹配空格。 什么是Python匹配空格&#xff1f; Python匹…

皮卡丘反射型XSS

1.反射型xss(get) 进入反射型xss(get)的关卡&#xff0c;我们可以看到如下页面 先输入合法数据查看情况&#xff0c;例如输入“kobe” 再随便输入一个&#xff0c;比如我舍友的外号“xunlei”&#xff0c;“666”&#xff0c;嘿嘿嘿 F12查看源代码&#xff0c;发现你输入的数…

【5.29 代随_41day】 整数拆分、不同的二叉搜索树

整数拆分、不同的二叉搜索树 整数拆分1.动态规划的方法图解步骤代码 不同的二叉搜索树图解步骤代码 整数拆分 力扣连接&#xff1a;343. 整数拆分&#xff08;中等&#xff09; 1.动态规划的方法 确定dp数组&#xff08;dp table&#xff09;以及下标的含义 dp[i]&#xff1a…

redis第四章-redis下redisson分布式锁原理和源码分析

如上图&#xff0c;在最简单使用分布式锁的时候&#xff0c;我们一般获取一个锁对象&#xff0c;对这个对象进行加锁&#xff0c;当执行完业务流程代码后&#xff0c;对分布式锁进行解锁&#xff0c;这样就保证了高并发下程序的锁安全&#xff0c;以及原子性。 如图&#xff0c…

Linux 实验三 Linux C开发工具的使用

做实验之前必须会vim的简单使用 会使用vi 进入文件 i 插入 esc进入底行模式 :wq退出 1、vi编辑器和gcc编译器的简单使用 &#xff08;1&#xff09;在用户主目录下新建一个目必须掌握录&#xff0c;命名为vifile &#xff08;2&#xff09;进入目录vifile &#xff08;3&…

LearnOpenGL-高级OpenGL-10.实例化

本人初学者&#xff0c;文中定有代码、术语等错误&#xff0c;欢迎指正 文章目录 实例化例子1.1&#xff1a;100个2D四边形使用Uniform 实例化数组例子1.2&#xff1a;100个2D四边形使用实例化数组例子2.1&#xff1a;行星带不使用实例化数组例子2.2&#xff1a;行星带使用实例…

【转码】nohup后台执行ffmpeg转码后推流srs

【ffmpeg】flv1转码h264且降低分辨率 【ffmpeg】filter_complex 转码视频保留音频推直播flv流 拉流播放剪辑到2M mp4 转flv 同时转码,拉流地址:http://1.1.1.5:8078/live/streamLow.flv 过了三个月,忘了。通过查询后台程序,判断当时自己是用的哪个脚本:看下上次操作的时间…

MySQL简单教程

MySQL的数据类型 类型用途int整型&#xff0c;相当于java的intbigint整型&#xff0c;相当于java的longfloat浮点型double浮点型datetime日期类型timestamp日期类型(可存储时间戳)char定长字符varchar不定长字符text大文本&#xff0c;用于存储很长的…

皮卡丘xss之盲打、xss之过滤

1.xss之盲打 我们先按照题目输入 提交后&#xff0c;很平常 再试试插入payload&#xff1a;<script>alert(1)</script>和<script>alert(2)</script> 提交后还是不变 此时我们看提示 我们尝试访问该地址&#xff1a;127.0.0.1/pk/vul/xss/xssblind/ad…

聊聊Scrum价值观与测试启发

这是鼎叔的第六十二篇原创文章。行业大牛和刚毕业的小白&#xff0c;都可以进来聊聊。 欢迎关注本公众号《敏捷测试转型》&#xff0c;星标收藏&#xff0c;大量原创思考文章陆续推出。 敏捷理论博大精深&#xff0c;相关实践方法论和工具层出不穷&#xff0c;各大公司都有特…