Linux三剑客(上)

简介: Linux三剑客(上)

一、正则表达式

由特殊字符和文本字符组成编写模式。主要分类:

  • 基本正则表达式BRE
  • 元字符有:^$.[]*
  • 作用:1、匹配字符;2、匹配字符次数;3、位置锚定
  • 扩展正则表达式ERE
  • 元字符有:(){}?+| (包括BRE)
  • 必须使用 grep -E 才能生效

1.2正则表达意义

  1. 处理大量的字符串 (提取关键字信息、文件信息、网站信息)
  2. 处理文本(替换功能)
  3. 正则表达式必须使用Linux三剑客去操作它。

二、Linux三剑客grep

  • grep:文本搜索、过滤工具

    2.1、grep练习
##首先连接文件passwd并打印输出到 pwd.txt文件中
[root@1-VM00013 ~]# cat /etc/passwd > ./pwd.txt
##开始搜索过滤,不区分大小写,查找pwd.txt文件中含有root字样的字符
[root@1-VM00013 ~]# grep -i "root" pwd.txt
root:x:0:0:root:/root
operator:x:11:0:operator:/root:/sbin/nologin
dockerroot:x:988:98
##把行号显示出来,查找pwd.txt文件中含有root字样的字符
[root@1-VM00013 ~]# grep -i -n "root" pwd.txt
1:root:x:0:0:root:
10:operator:x:11:0:operator:/root:/sbin/nologin
42:dockerroot:x:
##统计pwd.txt文本中,有多少行root有关的字符
[root@1-VM00013 ~]# grep -i "root" ./pwd.txt -c
3
[root@1-VM0001
##找出所有的非空行
 思路是先找出所有的空行,然后结果取反
 [root@1-VM00013 data]# cat luffy.txt
I am linghu
I teach linux
i like python
my name is linghu
[root@1-VM00013data]# grep '^$' luffy.txt
##查看空行的行号:
[root@1-VM00013 data]# grep '^$' luffy.txt -n
2:
4:
6:
8:
##把结果取反
[root@1-VM00013 data]# grep '^$' luffy.txt -n -v
1:I am linghu
3:I teach linux
5:i like python
7:my name is linghu

现在在文本中加入注释行,我们要排除注释行:

[root@1-VM00013 data]# grep '^$' luffy.txt -v | grep '^#' -v
I am linghu
I teach linux
i like python
my name is linghu

Linux三剑客(下)+https://developer.aliyun.com/article/1623587

目录
相关文章
|
缓存 JavaScript 前端开发
vue2.0+vue3.0资料(尚硅谷)(五)
vue2.0+vue3.0资料(尚硅谷)
417 0
|
安全 API PHP
港澳台验证码海外短信群发教程,利用阿里云国际如何实现境外短信操作
港澳台验证码海外短信群发教程,利用阿里云国际如何实现境外短信操作
|
JavaScript 测试技术 UED
让浏览器支持<style scoped>
【10月更文挑战第5天】
|
资源调度 JavaScript API
解锁一个尚未被 Vue 正式实现的提案或想法集合的库,真的很有趣!
解锁一个尚未被 Vue 正式实现的提案或想法集合的库,真的很有趣!
|
负载均衡 Cloud Native 数据可视化
Nacos与Eureka比较?
【6月更文挑战第29天】Nacos与Eureka比较?
621 2
|
安全 Java Android开发
Android 14适配Google play截止时间临近,适配注意点和经验
本文介绍了Android 14带来的关键更新,包括性能优化、定制化体验、多语言支持、多媒体与图形增强等功能。此外,还强调了适配时的重要事项,如targetSdkVersion升级、前台服务类型声明、蓝牙权限变更等,以及安全性与用户体验方面的改进。开发者需按官方指南更新应用,以充分利用新特性并确保兼容性和安全性。
885 0
|
计算机视觉 机器学习/深度学习 编解码
【轻量化网络系列(4)】ShuffleNetV1论文超详细解读(翻译 +学习笔记+代码实现)
【轻量化网络系列(4)】ShuffleNetV1论文超详细解读(翻译 +学习笔记+代码实现)
1035 0
【轻量化网络系列(4)】ShuffleNetV1论文超详细解读(翻译 +学习笔记+代码实现)
|
Ubuntu 开发工具 数据安全/隐私保护
虚拟机安装ubuntu并做相关优化配置教程
虚拟机安装ubuntu并做相关优化配置教程
220 0
|
SQL Java 关系型数据库
Mybatis保姆级丝滑教程(一文搞懂系列)(1)
Mybatis保姆级丝滑教程(一文搞懂系列)
1305 0
|
存储 缓存 Java
【jvm系列-08】精通String字符串底层原理和运行机制(详解)
【jvm系列-08】精通String字符串底层原理和运行机制(详解)
785 0