[英]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.