我有一个这样的列表来捕获 joomla 版本
./somedir/bla/old/libraries/cms/version/version.php
public $RELEASE = '2.5';
public $DEV_LEVEL = '24';
./somedir/bla3/www/libraries/cms/version/version.php
public $RELEASE = '2.5';
public $DEV_LEVEL = '9';
./somedir/bla4/www/libraries/cms/version/version.php
./somedir/bla5/www/w/scripts/version.php
./somedir/bla6/www/libraries/cms/version/version.php
./somedir/bla7/www/libraries/cms/version/version.php
public $RELEASE = '2.5';
public $DEV_LEVEL = '9';
Run Code Online (Sandbox Code Playgroud)
public我想要的是,如果位于下一行,则仅显示该行+接下来的两行。else 行必须被忽略
所以结果应该是:
./somedir/bla/old/libraries/cms/version/version.php
public $RELEASE = '2.5';
public $DEV_LEVEL = '24';
./somedir/bla3/www/libraries/cms/version/version.php
public $RELEASE = '2.5';
public $DEV_LEVEL = '9';
./somedir/bla7/www/libraries/cms/version/version.php
public $RELEASE = '2.5';
public $DEV_LEVEL = '9';
Run Code Online (Sandbox Code Playgroud)
我尝试过使用 awk 和这个 awk 脚本
BEGIN{ RS=""; FS="\n" }
/public/ {
for (i=1; i<=NF; i++) { …Run Code Online (Sandbox Code Playgroud) awk ×1