首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Wordpress插件文件夹转到grep版本号

从Wordpress插件文件夹转到grep版本号
EN

Stack Overflow用户
提问于 2015-05-07 10:09:54
回答 2查看 481关注 0票数 0

什么是grep regex来提取版本号,如

代码语言:javascript
复制
 Version: 3.1.5
 * Version: 3.1.5

将输出3.1.5

但它不应该抓到喜欢

代码语言:javascript
复制
MIME-Version: 1.0\n

这是我的grep命令

代码语言:javascript
复制
grep -ri 'version\s*:\s*[0-9\.]\w*' /home/test/public_html/wp-content/plugins/plugin_name 

@anubhava woocommerce是一个文件夹。此文件夹下有文件woocommerce.php

** woocommerce.php内容**

代码语言:javascript
复制
 * Plugin Name: WooCommerce
 * Plugin URI: http://www.woothemes.com/woocommerce/
 * Description: An e-commerce toolkit that helps you sell anything. Beautifully.
 * Version: 2.3.8
 * Author: WooThemes
 * Author URI: http://woothemes.com
 * Requires at least: 4.0
 * Tested up to: 4.2

工作

代码语言:javascript
复制
grep -rPo "(^|\s|^\*)+(Version\s*:\s*)\K([0-9]|\.)*(?=\s|$)" /home/test/public_html/wp-content/plugins/woocommerce/
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-07 11:44:40

代码语言:javascript
复制
grep -rPo "(^|\s|^\*)+(Version\s*:\s*)\K([0-9]|\.)*(?=\s|$)" /home/test/public_html/wp-content/plugins/attachments/

解释:

  • -P代表PCRE,-o表示只接受线路的匹配部分。
  • (^|\s)+(Version: )将在开头或一个或多个空白空间匹配Version,然后\K将放弃匹配
  • ([0-9]|\.)*将匹配任何数字或. 0或更多次,这是我们想要的
  • 前面的标记后面跟着任何空格字符或行尾。
票数 0
EN

Stack Overflow用户

发布于 2015-05-07 10:17:02

您可以使用grep -oP (PERL样式regex):

代码语言:javascript
复制
grep -oP 'Version: *\K\S+' file
3.1.5
3.1.5

Version: *匹配文字Version:,后面跟着0或更多空格。\K重置匹配信息,\S+匹配版本号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30097978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档