正则表达式学习

正则表达式,学习 · 浏览次数 : 121

小编点评

**步骤 1:过滤 GUID 相关的信息** ```egrep ^[a-zA-Z0-9]{8}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{12}$ ``` **步骤 2:反编译代码** ```bash time for i in `find . \\( -path ./var -o -path ./runtime/java \\) -prune -o -iname *.jar` ``` **步骤 3:获取差异文件** ```bash rm -rf /gscloudaddupTest/*mkdir -p /gscloudaddupTest/servermkdir -p /gscloudaddupTest/webmkdir -p /gscloudaddup/servermkdir -p /gscloudaddup/webrsync --dry-run -rCcn --out-format=\"%n\" /gscloud22110306/server/ /gscloud220601/server/ |grep -v \"/$\"|xargs -I{} rsync -R /gscloud22110306/server/./{} /gscloudaddupTest/server/#rsync --dry-run -Ccn --out-format=\"%n\" /gscloud/web/ /gscloudstandard/web/ |grep -v \"/$\"|xargs -I{} rsync -R /gscloud/web/./{} /gscloudaddupTest/web/rsync -rpt /gscloudaddupTest/server /gscloudaddup/ --deletersync -rpt /gscloudaddupTest/web /gscloudaddup/ --delete ``` **步骤 4:转列并实现特殊符号分隔** ```bash xargs cat |grep ServiceUnitName |awk -F \":\" '{print $2}'|awk -F \"\\\"\" '{print $2}' |tr \"\\" \",\"|sed -e 's/,$/\/' ``` **步骤 5:取两个部分文件** ```bash cat 1.txt 2.txt 3.txt |sort |uniq -c |sort -k1h |awk '$1==1{next}{print $2}'cat 1.txt 2.txt 3.txt |sort |uniq -c |sort -k1h |awk '$1==1{next}{print $2}'tr \"\\" ',' |sed -e 's/,$/\/' ``` **步骤 6:去两个文件中在A中存在,或者仅在B中存在的部分差异** ```bash grep " < " 1.txt |awk -F \"<\" '{print $2}' |tr '\' ',' |sed -e 's/,$/\/' |sed -e 's/ //g' ``` **步骤 7:按照日期排序并并排** ```bash tail -n+2 | awk '{print $6}' | sort | uniq -cll --full-time |awk '{print $6}' |sort |uniq -c |sort -k1hr ``` **步骤 8:获取 Redis 信息** ```bash redis-cli -p 6379 -a Password info >`date +%Y%m%d%H`_info.logredis-cli -p 6379 -a password slowlog get 100 >`date +%Y%m%d%H`_slowlog.log ```

正文

第一个: 

过滤guid相关的信息

egrep ^[a-zA-Z0-9]{8}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{12}$

 

第二个:

反编译代码

time for i in `find . \( -path ./var -o -path ./runtime/java \) -prune -o -iname *.jar`  ; do java -jar /deploy/cfr.jar $i --outputdir /gscloudsource/serversource/$i ; done 

 

第三个

获取差异文件

rm -rf /gscloudaddupTest/*
mkdir -p /gscloudaddupTest/server
mkdir -p /gscloudaddupTest/web

mkdir -p /gscloudaddup/server
mkdir -p /gscloudaddup/web
rsync --dry-run -rCcn --out-format="%n"  /gscloud22110306/server/  /gscloud220601/server/ |grep -v "/$"|xargs -I{} rsync -R /gscloud22110306/server/./{} /gscloudaddupTest/server/
#rsync --dry-run -rCcn --out-format="%n"  /gscloud/web/  /gscloudstandard/web/ |grep -v "/$"|xargs -I{} rsync -R /gscloud/web/./{} /gscloudaddupTest/web/

rsync -rpt /gscloudaddupTest/server /gscloudaddup/ --delete
rsync -rpt /gscloudaddupTest/web /gscloudaddup/ --delete

 

第四个

行转列以及实现特殊符号分隔

find . -iname serviceunit.json |xargs cat  |grep ServiceUnitName |awk -F ":" '{print $2}'|awk -F "\"" '{print $2}' |tr "\n" ","|sed -e 's/,$/\n/'

 第四个

取两个的部分

cat 1.txt 2.txt 3.txt |sort |uniq -c |sort -k1h |awk '$1==1{next}{print $2}'

cat 1.txt 2.txt 3.txt |sort |uniq -c |sort -k1h |awk '$1==1{next}{print $2}' |tr "\n" ',' |sed -e 's/,$/\n/'

第五个

去两个文件中 在A中存在, 或者仅在B中存在的部分

diff 1.txt 2.txt  |grep "<" |awk -F "<" '{print $2}' |tr '\n' ',' |sed -e 's/,$/\n/' |sed -e 's/ //g'

 

第六个 

按照日期排序

ls --full-time | tail -n+2 | awk '{print $6}' | sort | uniq -c

ll --full-time |awk '{print $6}' |sort |uniq -c |sort -k1hr

 

第七个 

redis信息获取

redis-cli -p 6379 -a Password info  >`date +%Y%m%d%H`_info.log
redis-cli -p 6379 -a password slowlog get  100 >`date +%Y%m%d%H`_slowlog.log

 

与正则表达式学习相似的内容:

正则表达式学习

第一个: 过滤guid相关的信息 egrep ^[a-zA-Z0-9]{8}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{12}$ 第二个: 反编译代码 time for i in `find . \( -path ./var -

学习正则表达式

正则表达式是一个强大的文本匹配工具。但是,对于初学者来说,众多的符号和规则可能让人难以理解。其实,你不需要记住所有的正则表达式语法!本文将分享一些简单而实用的技巧,帮助理解正则表达式的核心概念,轻松使用正则表达式! 基础入门 概念 正则表达式(Regular Expression,在代码中常简写为r

[转帖]正则表达式边玩边学

最近在学习极客时间的《正则表达式入门课》,感觉很适合入门玩,所以简单作一些笔记方便查找参考。 正则,就是正则表达式,英文是 Regular Expression,简称 RE。顾名思义,正则其实就是一种描述文本内容组成规律的表示方式。在编程语言中,正则常常用来简化文本处理的逻辑。在 Linux 命令中

[转帖]Jmeter学习笔记(十九)——后置处理器之正则表达式的使用

https://www.cnblogs.com/pachongshangdexuebi/p/11733005.html 一、正则表达式提取器的作用 允许用户从服务器的响应中通过使用perl的正则表达式提取值。作为一个后置处理器,该元素会作用在指定范围的取样器,应用正则表达式,提取所需要的值,生成模板

[转帖]正则表达式技巧与注意事项

https://www.cnblogs.com/codelogs/p/16060052.html 原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介# 现如今,正则表达式几乎是程序员的必备技能了,它入手确实很容易,但如果你不仔细琢磨学习,会长期停留在正则最基本的用法

C++ 资源大全:标准库、Web框架、人工智能等 | 最全整理

C++ 资源列表,内容包括: 标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等 目录 进程间通信 Json 日志 机器学习 数学 内存分配 多媒体 网络 PDF 物理学 映射 正则表达式 机器人学 科学计算 脚本 序列化 排序 视频 虚拟机 Web应用框架 XML 多项

正则表达式

正则表达式 import re 限定符(quantifier) a* a出现0次或者多次 a+ a出现1次或者多次 a? a出现0次或者一次 a{6} a出现6次 a{2,6} a出现2-6次 a{2,} a出现两次以上 或运算符(OR Operator) (a|b) 匹配 (ab)|(cd) 匹配

正则表达式中 “$” 并不是表示 “字符串结束

作者:Seth Larson 译者:豌豆花下猫@Python猫 英文:Regex character “$” doesn't mean “end-of-string” 转载请保留作者及译者信息! 这篇文章写一写我最近在用 Python 的正则表达式模块(re)开发 CPython 的 SBOM 工具

正则表达式知识点总结

第一部分:正则表达式 概念 一个函数: re.findall(pattern, string) 一些元字符: . * ? + [] () \ ^ $ 通过 () 来改变 findall 的行为 例1: 判断一个手机号码(长度、开头数字为1、只能是数字) import re a=12345678901

[转帖]正则表达式及在Jmeter中的应用

目录 1.正则表达式 1.1 什么是正则表达式 1.2 为什么使用正则表达式 2.语法 2.1 普通字符 2.2 限定符 2.3 非打印字符 2.4 特殊字符 2.5 定位符 2.6 修饰符(标记) 2.7 选择 2.8 运算符优先级 3.常用正则表达式及在线工具 4.Jmeter之正则表达式提取器