Articles of 正则expression式

在文件名中replace通配符

我无法得到这个工作: 我有数百个文件,我们的数据库开发人员愚蠢地把星号,所以我们有像这样命名的文件: *1*_Floorplan.jpg 我需要recursion(两级)search并replace所有文件名中的“ * ”的所有实例,并用下划线“ _ ”replace它们。 我已经尝试了以下,但它失败了,输出“mv”命令的使用格式数百次(就好像每个文件它会试图处理),就像我所期望的,如果我有无效的语法,但我似乎无法find它有什么问题: for x in `find . -regex '.*/\*.*'` ; do mv $x `echo $x | sed s/\*/_/g` ; done 这是一个Mac(10.4)系统,所以这是一个达尔文环境,如果这有什么区别。 请帮忙!

自定义日志检查模式使用egrep匹配,但logcheck不排除相关的行

我们有一个用于logcheck忽略模式的自定义文件。 今天我决定再添加一个,但是不像以前那样顺利。 我通常做的是制作一个正则expression式,匹配我需要使用egrep忽略的行,然后将正则expression式放在/etc/logcheck/ignore.d.server/local文件中。 这一次它不工作,我为什么难倒。 这些是我想要排除的条目的types: Oct 19 17:32:15 box sudo: pam_unix(sudo:session): session opened for user logcheck by graeme(uid=0) Oct 19 17:32:15 box sudo: pam_unix(sudo:session): session closed for user logcheck 这是我的正则expression式模式: ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ sudo: pam_unix\(sudo:session\): session (opened|closed) for user [a-z0-9.-]+( by [a-z0-9.-]+\(uid=[0-9]+\))?$ 没有什么太忙碌的,在/var/log/auth.log文件中用egrep模式显示我想忽略的所有行。 任何人都可以指出为什么logcheck不会忽略这些行?

不区分大小写exiqgrep?

我的邮件队列当前充满了同一个域的反弹邮件,但是大小写混合。 我试图使用exiqgrep从我的队列中过滤这些邮件,但似乎命令是区分大小写的。 有没有办法执行不区分大小写的search?

nginx重写正则expression式的API版本

我想要的是第一个变成第二个.. /widget => /widget/index.php /widget/ => /widget/index.php /widget?act=list => /widget/index.php?act=list /widget/?act=list => /widget/index.php?act=list /widget/list => /widget/index.php?act=list /widget/v2?act=list => /widget/v2.php?act=list /widget/v2/?act=list => /widget/v2.php?act=list /widget/v2/list => /widget/v2.php?act=list v2也可以是v45,基本上是“v \ d +” 行为,在这种情况下,“列表”,可以有很多值,更多将被添加。 任何额外的查询参数将只传递$ args,我猜。 基本上URL没有指定版本将去index.php,然后可以决定什么特定的版本文件包括。 我害怕发生的是循环 – 这应该坐下来 location /widget { 对?。 (至于将API的版本放在URL中,我并不想成为RESTful,而且目标受众很less) 关于如何完全在index.php中使用“路由器”完成这些资源也欢迎: – /

如何使用PowerShell在日志文件中计算正则expression式匹配的实例?

我有一个非常大的日志文件,我需要计算特定string的所有变化的发生; 那是: 有大量文件ID以格式AA000 ####出现。 我必须找出这个文件中的五个或十个ID是什么(哪些出现次数最多)。 我认为这可以通过selectstring和正则expression式来完成?

Fail2Ban SASLfilter丢失login失败

我在我的邮件服务器上使用了fail2ban 。 我今天早上发现,有大约5000次失败的login尝试(在1个小时的过程中)通过SMTP没有被我的saslfilter拿起。 以下是/var/log/mail.log中的一个条目示例 Jan 25 04:39:56 ***** postfix/smtpd[23828]: warning: 114-32-231-17.HINET-IP.hinet.net[114.32.231.17]: SASL LOGIN authentication failed: authentication failure 这是我的(未修改的)fail2ban的saslfilter定义: # Fail2Ban configuration file # # Author: Yaroslav Halchenko # # $Revision: 728 $ # [Definition] # Option: failregex # Notes.: regex to match the password failures messages in the logfile. The # host must be matched […]

SELinux文件path上下文不适用于正则expression式

基于评论中的build议,我已经根据可读性进行了重新格式化。 我有一个使用google authenticator的RADIUS服务器,SELinux阻止了RADIUS访问用户主目录(这些也是winbind用户, /home/API dir在/home/API )中的.google_authenticator文件。 我试图通过build立以下策略文件来访问它: $ cat ./google-authenticator.fc /home/API(/.*)?/\.google_authenticator gen_context(system_u:object_r:radiusd_google_authenticator_t,s0) $ cat ./google-authenticator.te policy_module(radiusd_google_authenticator, 0.0.10) require { type radiusd_t; type user_home_dir_t; type admin_home_t; } type radiusd_google_authenticator_t; role object_r types radiusd_google_authenticator_t; allow radiusd_t radiusd_google_authenticator_t:file { rename create unlink rw_file_perms }; files_type(radiusd_google_authenticator_t) filetrans_pattern(radiusd_t, user_home_dir_t, radiusd_google_authenticator_t, file, ".google_authenticator") filetrans_pattern(radiusd_t, admin_home_t, radiusd_google_authenticator_t, file, ".google_authenticator") 安装这些显示在semanage fcontext -lpath,但它不起作用: […]

fail2ban正则expression式不匹配

我必须承认,正则expression式对我来说一直是一个弱点。 我从来没有坐下来,花了足够的时间学习他们有效地使用它们。 不过,我真的为此感到不知所措。 我试图做一个自定义的failregex阻止人们试图利用任何xmlrpc.php错误(他们是不断暴力企图这样做)。 我正在使用fail2ban v0.9.3,在Ubuntu 16.04.2上使用Apache 2.4.18。 这是我的正则expression式: <HOST> – – \[\d{2}/\w{3}/\d{4}:\d{2}:\d{2}:\d{2} +\d{4}\] "POST /xmlrpc.php HTTP/1.0" 200 这是一个示例行,它不匹配(IPreplace为0): 0.0.0.0 – – [06/Apr/2017:07:45:42 +0000] "POST /xmlrpc.php HTTP/1.0" 200 752 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" 我不明白为什么它不匹配。 据我所知,这应该是一个完全匹配。 任何人都可以点亮一下吗? 另外,如果时区偏移符合+和a – 符号,这将是很好的…我想用HTTP/1.\d{1}代替HTTP/1.0 HTTP/1.\d{1}它应该匹配1.0和1.1,正确? 提前致谢! 编辑:在与fail2ban-regex命令行玩弄后,我已经find了与<HOST> – – \[它将匹配所有行的正则expression式。 但是,第二个我将它改为<HOST> – – \[\d{2}它根本不匹配任何行。 这似乎没有道理! 编辑2:那么,在此期间,我正在使用<HOST> […]

Bash:如何使用触摸和正则expression式复制时间戳?

由于这是更多的Bash问题,我认为这是比超级用户更适合serverfault,即使我正在谈论媒体文件。 我不得不对多个媒体文件进行批量转换,并且所有的输出文件都有一个新的时间戳。 /somedir/ file1.mpg (correct timestamp) file1.mpg.m4v (wrong timestamp) file2.mpg (correct timestamp) file2.mpg.m4v (wrong timestamp) … 我想要做的是时间戳的批处理副本,以便每个* .mpg.m4v获得相应的* .mpg文件的时间戳。 从我的search,看起来像我需要使用touch -r和一些正则expression式来处理这个。 我在正确的轨道上,有没有人有任何build议,我需要做正则expression式(我的正则expression式知识,坏,坏,坏)来处理这个?

searchLinux的尾巴工具,以regx着色和抑制行?

是否有任何工具可以同时执行彩色和过滤行来抑制正则expression式的输出?