简体   繁体   English

Bash 脚本:如何查找以一个字符开头的行?

[英]Bash scripting : How to find lines begin with one character?

I'm trying to find some lines in a text file that begin with only one (+).我试图在文本文件中找到一些仅以一个 (+) 开头的行。

my file:我的文件:

--- step31.php  2017-03-10 18:34:59.430949110 +0330
+++ step32.php  2017-03-10 18:34:59.430949110 +0330
@@ -1,6 +1,6 @@
 <?php
 defined('_JEXEC') or die;
-JLoader::register('BannersHelper', JPATH_COMPONENT . '/helpers/banners.php');
+JLoader::register('BannersHelper', JPATH_ADMINISTRATOR . '/components/com_banners/helpers/banners.php');
 class BannersViewBanner extends JViewLegacy{
     protected $form;
     protected $item;
@@ -32,7 +32,7 @@
             JToolbarHelper::save2copy('banner.save2copy');}
         if (empty($this->item->id)) {
             JToolbarHelper::cancel('banner.cancel');} else {
-            if ($this->state->params->get('save_history', 0) && $user->authorise('core.edit')) {
+            if ($this->state->params->get('save_history', 0) && $canDo->get('core.edit')) {
                 JToolbarHelper::versions('com_banners.banner', $this->item->id);}

desired output:所需的输出:

+JLoader::register('BannersHelper', JPATH_ADMINISTRATOR . '/components/com_banners/helpers/banners.php');
+            if ($this->state->params->get('save_history', 0) && $canDo->get('core.edit')) {

I use grep '^+' but output is:我使用grep '^+'但输出是:

+++ step32.php  2017-03-10 18:34:59.430949110 +0330
+JLoader::register('BannersHelper', JPATH_ADMINISTRATOR . '/components/com_banners/helpers/banners.php');
+            if ($this->state->params->get('save_history', 0) && $canDo->get('core.edit')) {

You can use:您可以使用:

grep '^+[^+]' file

+JLoader::register('BannersHelper', JPATH_ADMINISTRATOR . '/components/com_banners/helpers/banners.php');
+            if ($this->state->params->get('save_history', 0) && $canDo->get('core.edit')) {

Regex ^+[^+] will match + at start followed by anything except + thus giving you expected output.正则表达式^+[^+]将在开始时匹配+后跟除+之外的任何内容,从而为您提供预期的输出。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM