shell正则】的更多相关文章

shell正则表达 .*和.?的比较: 比如说匹配输入串A: 101000000000100 使用 1.*1 将会匹配到1010000000001,匹配方法:先匹配至输入串A的最后, 然后向前匹配,直到可以匹配到1,称之为贪婪匹配. 使用 1.?1 将会匹配到101, 匹配方法:匹配下一个1之前的所有字符, 称之为非贪婪匹配. 元字符 描述 \ 将下一个字符标记符.或一个向后引用.或一个八进制转义符.例如,“\\n”匹配\n.“\n”匹配换行符.序列“\\”匹配“\”而“\(”则匹配“(”.即相…
cat test2.html | sed -e 's/\(^\|[^0-9]\)\(13[0-9][0-9]\{8\}\|14[579][0-9]\{8\}\|15[0-3,5-9][0-9]\{8\}\|16[6][0-9]\{8\}\|17[0135678][0-9]\{8\}\|18[0-9][0-9]\{8\}\|19[89][0-9]\{8\}\)\($\|[^0-9]\)/\nfind_phone:\2\n/g' | sed -e 's/\(^\|[^0-9]\)\([0-9]\{6…
第五天 REGEXP:REGular EXPressionPattern: 正则表达式: Basic REGEXP:基本 Extended REGEXP:扩展 基本正则表达式: 字符匹配类:.: 任意单个字符[]: 指定范围内的任意单个字符[^]: 外 字符次数匹配:*: 其前的字符任意次\?: 其前的字符0或1次\{m,n\}:至少m次,至多n次:(m可以为0,但不能省略,n为0可以省略) .*: 任意长度的任意字符 锚定:^: 铆钉行首$: 锚定行尾\<, \b:锚定单词首\>, \b:锚…
IP分成5大类: A类地址 ⑴ 第1字节为网络地址,其它3个字节为主机地址. ⑵ 范围:1.0.0.1—126.155.255.254 ⑶ 私有地址和保留地址: ① 10.X.X.X是私有地址(只能在局域网络使用的地址). ② 127.X.X.X是保留地址,循环测试. B类地址 ⑴ 前2个字节为网络地址,其它2个字节为主机地址. ⑵ 范围:128.0.0.1—191.255.255.254 ⑶ 私有地址和保留地址 ① 172.16.0.0—172.31.255.255是私有地址 ② 169.25…
比如255.255.255.255 ,共4段,我们将255分为四个部分,0-99,100-199,200-249,250-255 0-99:[1-9]?[0-9]               #   [1-9]? 表示1到9匹配1此或0次,0到9匹配一次 100-199:1[0-9][0-9] 200-249:2[0-4][0-9] 250-255:25[0-5] [root@Skip-ftp tmp]# cat test.txt 10.0.0.0.0 0.0.0.0 1.1.1.1 01.1.…
grep命令可以检索文件中包含关键字(可以使用正则)的行,默认区分大小写. ubuntu@ubuntu:~/test$ cat test.txt this is linux this is Linux this is mysql this is Mysql ubuntu@ubuntu:~/test$ grep 'linux' test.txt this is linux ubuntu@ubuntu:~/test$ grep 'Mysql' test.txt this is Mysql ubunt…
1.sh -x 跟踪shell脚本中的每个命令 [root@master shellexer]# cat bash.sh #!/bin/bash var=$ echo $var [root@master shellexer]# sh -x bash.sh hello + var=hello + echo hello hello #脚本输出结果 #带+的表示被跟踪的代码 https://blog.csdn.net/qq_15547319/article/details/70538091 2.bas…
背景 有需求,在允许命令或者脚本跳出交互行,需要进行内容输入,但需要人手动输入,不是很方便,此时可以通过expect来实现自动互动交互. expect是一个自动交互功能的工具,可以满足代替我们实际工作中需要从终端手动输入某些内容来使得程序或命令继续运行的目的.如安装软件是时的一些提示,ssh远程主机执行命令时需要多次输入密码的情况. 安装expect 安装依赖:yum install tcl -y 安装expect:Centos系统yum install expect -y或Ubuntu系统ap…
背景 有需求,在允许命令或者脚本跳出交互行,需要进行内容输入,但需要人手动输入,不是很方便,此时可以通过expect来实现自动互动交互. expect是一个自动交互功能的工具,可以满足代替我们实际工作中需要从终端手动输入某些内容来使得程序或命令继续运行的目的.如安装软件是时的一些提示,ssh远程主机执行命令时需要多次输入密码的情况. 安装expect 安装依赖:yum install tcl -y 安装expect:Centos系统yum install expect -y或Ubuntu系统ap…
1. tar压缩,解压缩 tar -cvf *** (压缩) tar -xvf ***  (解压缩) [root@bogon ~]# tar cvf test.tar test/ test/ test/hello [root@bogon ~]# ls anaconda-ks.cfg install.log install.log.syslog test test.tar [root@bogon ~]# tar xvf test.tar test/ test/hello [root@bogon ~…
fnmatch()函数匹配能力介于简单的字符串方法和强大的正则表达式之间,如果在数据处理操作中只需要简单的通配符就能完成的时候,这通常是一个比较合理的方案.此模块的主要作用是文件名称的匹配,并且匹配的模式使用的Unix shell风格.源码很简单: """Filename matching with shell patterns. fnmatch(FILENAME, PATTERN) matches according to the local convention. fnm…
1:saltstack的基本介绍 2:salt的安装 1:服务端1:安装2:配置文件3:运行4:注意事项2:客户端1:安装2:配置文件3:运行4:注意事项 3:salt的使用: 1:基础知识1:targeting2:nodegroup3:grains4:pillar2:状态管理1:state1:state语法2:state的逻辑关系2:highstate3:salt schedule3:实时管理1:cmd.run2:module4:其他1:无master2:peer3:runner4:react…
测试需求: 本地图片上传到ftp服务器里和另外两台不同算法比对服务器进行比对,得出漏检和误检结果:这实际属于功能测试范畴. 测试思路: 第一种方法:使用实际场景的摄像机抓拍图片上传到服务器,用录屏软件录制client程序回头人工数出漏检误检张数,这种方式费时费力: 第二种方法,用模拟器模拟实际场景摄像机抓拍的图片,用jmeter上传图片到ftp服务器,获取测试日志中比对数据,方便快捷: 测试数据准备: 比对服务器中图片:标准清晰人脸数5千,1万,5万,10万张不同人脸: 本地图片:几组不同的人脸…
一直以来使用ShadowSocksFQ,基本上默认的PAC代理模式己能满足所需,实在个别pac不方便的就转成用全局代理模式也能愉快FQ. 只是最近学习前端的知识,需要FQ访问 MDN web docs这个网站来查看资料,深深感觉来回切换不方便,于是还是得研究一下怎么来个自定义的规则方便一些. ShadowSocks PAC规则 ShadowSocks默认使用GFWList规则和使用adblock plus的引擎.要想自己添加自定义的用户规则,最好熟悉一下其规则: 中文版:Adblock Plus…
转自知乎 最近一直在做跨域中华局域网的工作,了解了很多代理知识和基础概念,很零散,也很细碎.希望通过一段时间的学习,能够自由地穿梭在国际互联网和中华局域网之间.后续会写一系列文章记录我了解到的知识点,本文要说的是我们平时接触比较多的 PAC,全名为 proxy auto-config. 什么是 PAC PAC,一个自动代理配置脚本,包含了很多使用 JavaScript 编写的规则,它能够决定网络流量走默认通道还是代理服务器通道,控制的流量类型包括:HTTP.HTTPS 和 FTP. 它是一段 J…
前言 最近在做性能压测试,会生成大量的日志,导致后续越压越慢,最终磁盘空间占满之类的问题.老是要手动删除日志文件,为避免此类问题发生,编写一个Linux日志定时清理的脚本,一劳永逸. 1.shell脚本 创建脚本并赋权 touch /home/mppay/auto-truncate-log.shchmod u+x auto-truncate-log.sh 编辑脚本 vi auto-truncate-log.sh [清空日志文件内容]脚本如下: #!/bin/sh #可填写多个路径 workdir…
shell常用正则表达式   “^\d+$” //非负整数(正整数 + 0)   “^[0-9]*[1-9][0-9]*$” //正整数   “^((-\d+)|(0+))$” //非正整数(负整数 + 0)   “^-[0-9]*[1-9][0-9]*$” //负整数   “^-?\d+$” //整数   “^\d+(\.\d+)?$” //非负浮点数(正浮点数 + 0)   “^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|…
Shell case正则匹配法   case $BOOLEAN in [yY][eE][sS]) echo 'Thanks' $BOOLEAN ;; [yY]|[nN]) echo 'Thanks' $BOOLEAN ;; 'T'|'F') echo 'Thanks' $BOOLEAN ;; [Tt]ure|[Ff]alse) echo 'Thanks' $BOOLEAN ;; *) exit 1 ;; esac    …
Shell查看文件的最后5行,并对每行进行正则匹配,代码如下: #!/bin/sh pattern="HeartBeat" /home/test/log/log_20150205.log | while read line do if [[ $line =~ $pattern ]] then echo "Match" else echo "No match" fi echo $line done…
目前在准备龙芯项目的PMON,在研究其编译过程的时候,看到一些make 语句,百思不得其解.后来在shell编程中看到一点资料,牵扯到Shell中的正则表达式.故记录下来,以备后来查阅. 问题: 在某个makefile文件中通过include引入某个文件进来 Include $(shell ./getname) 而getname中的内容即为: pwd=$(pwd); if [ "${pwd#*/zloader.}" = "$pwd" ];then echo Make…
转义字符 将后边字符转义,使特殊功能字符作为普通字符处理,或者普通字符转化为特殊功能字符. 各个语言中都用应用,如java.python.sql.hive.shell等等. 如sql中 "\"" "\'" "\t" "\n" sql中直接输出 " ' tab键 换行键 转义字符的一般应用 "\"转义字符放到字符前面,如java和python输出内容用双引号标识,双引号中可以用转义字符\进…
----------------------------------------正则---------------------------------------- 基础正则 ^word ##搜索以word开头的 vi/vim中 ^ 一行的开头 word$ ##搜索以word结尾的 vi/vim中 $ 一行的结尾 ^$ ##表示空行 . ##代表且只能代表任意一个字符 \ ##例:\. 只代表点本身,转义符号,让有特殊身份意义的字符,脱掉马甲,还原 \n ##换行符 \r ##匹配回车 \w #…
centos   shell脚本编程1 正则  shell脚本结构  read命令  date命令的用法  shell中的逻辑判断  if 判断文件.目录属性  shell数组简单用法 $( ) 和${ } 和$(( )) 与  sh -n  sh -x  sh -v 第三十五节课 Shebang/Sha-bang在计算机科学中, Shebang (也称为Hashbang)是一个由井号和叹号构成的字符串行(#!), 其出现在文本文件的第一行的前两个字符. 在文件中存在Shebang的情况下, 类…
文本处理三剑客:1.grep  2.sed  3.awk 一.grep:(过滤) grep的使用,主要的参数有: -n  :显示行号:-o  :只显示匹配的内容-q  :静默模式,没有任何输出,得用echo$?来判断执行成功没有,即有没有过滤到想要的内容 -l  :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl 'root' /etc -A  :如果匹配成功,则将匹配行及其后n行一起打印出来-B  :如果匹配成功,则将匹配行及其前n行一起打印出来-C  :如…
Shell grep正则匹配中文 测试文本 demo_exe.c,内容如下,需要注意保存的编码格式,对输出到终端有影响: 我们中文操作系统ASNI默认是GBK的. #include<stdio.h> #include<stdlib.h> #include <string.h> #include <errno.h> #include <locale.h> #include <dlfcn.h> /* * export LD_LIBRARY…
shell函数 shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数.给这段代码起个名字称为函数名,后续可以直接调用该段代码. 格式 func() {   #指定函数名 command    #函数体 } 实例1: #!/bin/bash func() { echo "This is a function." } func # bash test.sh This is a function. Shell 函数很简单,函数名后跟双括号,再跟双大括号.通过函数…
一.正则表达式:Regular Expression 正则表达式:正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 作用:用一些特殊的字符来描述一个模式 正则是用于对文件中的内容进行过滤和匹配 通配符用于对文件名进行匹配 注意:在匹配模式中一定要加上引号 二.符号: ^           以开头 $           以结尾 ^12$     以1开头以2结尾 ^$         空行 .    …
在grep中正则有三种模式, 分别是基础(-G), 扩展(-E)和Perl(-P)模式 basic 模式 不支持\d, 支持\w \s \b. ?, +, {, |, (, and ) 在basic 模式中也失去了其在正则式中的特殊含义 如果想在basic 中使用这些特殊字符,可以用\来转义 # echo "- 2222-" |grep -o '[0-9]+' null # echo "- 2222-" |grep -o '[0-9]\+' egrep 表示扩展模式…
需求是统计某个业务的访问个数日志服务器上的目录结构是如下,搜索最近7天的指定关键字数据,并排重统计个数: drwxr-xr-x root root Nov : -- drwxr-xr-x root root Nov : -- drwxr-xr-x root root Nov : -- drwxr-xr-x root root Nov : -- drwxr-xr-x root root Nov : -- drwxr-xr-x root root Nov : -- drwxr-xr-x root r…
https://www.cnblogs.com/wj033/p/3451618.html 正则日志分析统计 3 grep 'onerror'  v3-0621.log | egrep  -v '(\dG|WIFI)' grep 'onerror'  v3-0621.log | egrep -v 'S-TO=C' grep 'GET /view/' v3-0621page.log |  egrep -c  '2017:0|2017:1[0-5]|2017:16:[0-4]'    (2017:00…