当前位置: 首页 > 面试题库 >

如何在Bash / Grep中转义单引号?

秦凯定
2023-03-14
问题内容

我想用grep搜索看起来像这样的字符串:

something ~* 'bla'

我试过了,但是shell删除了单引号argh ..

grep -i '"something ~* '[:alnum:]'"' /var/log/syslog

什么是正确的搜索?


问题答案:
grep -i "something ~\* '[[:alnum:]]*'" /var/log/syslog

为我工作。

  • 转义第一个*以匹配文字的方式,*而不是使其成为零个或多个匹配字符:
    ~*将匹配零个或多个匹配项,~而while
    ~\*匹配表达式~*之后something

  • 在周围使用双括号:alnum:(请参见此处的示例)

  • 使用*[[:alnum::]],不仅符合 一个 你单引号字符,但其中几
  • 单引号根本不需要转义,因为它们包含在受双引号限制的表达式中。


 类似资料:
  • 问题内容: 我想对带有双引号的关键字进行grep操作。举一个简单的例子: 那不匹配。我该如何解决? 问题答案: 问题是您没有正确转义输入字符串,请尝试: 或者,您可以在单引号内使用不转义的双引号: 尽管第二种方法阻止您将命令嵌套在另一组单引号(例如)中,但是您会更清楚地了解到这是一个优先事项。

  • 问题内容: 我想像这样在Bash中显示一个字符串 当然可以这样 但是如何在字符串周围使用单引号的同时完成此操作? 问题答案: 不起作用。但是以下工作原理: 在bash的手册页中: 即使在单引号之前加反斜杠,也不能在单引号之间引起单引号。 .... $’string’* 形式的单词经过特殊处理。该单词扩展为字符串,并按ANSI C标准的规定替换反斜杠转义字符。 *

  • 问题内容: 更新: 我想给这个问题一个更新的答案。首先,让我说一下您是否要完成下面的工作,我建议您改为通过添加事件侦听器来管理事件。我强烈建议您将jQuery用于您的项目,并使用其语法来管理事件监听器,而不是使用DOM。 题 好的,我基本上是这样做的: 我不希望在双引号(“)放在'处。我只希望使用单引号,所以我尝试不使它在使用时放入双引号。我试图在最终结果中实现。 转义对我不起作用。 问题答案:

  • 问题内容: 如何在包含单引号或双引号的MySQL中插入一个值。即 单引号会产生问题。可能还有其他转义字符。 如何正确插入数据? 问题答案: 简单地说: 因此,在字符串中,将每个单引号替换为两个。 要么: 转义=)

  • 问题内容: 我来自MySQL,以下查询在Sybase中不起作用。我应该如何转义单引号? 问题答案: 如果使用Sybase,已经习惯了更多数据库用户有经验的MySQL,您可能很快就会发现,使用反斜杠无法转义单引号。 那么,如何在Sybase中转义引号呢?实际上,在Sybase SQL中,单引号充当转义字符。 请参见下面的两个``语言’‘中的UPDATE语句示例: 的MySQL Sybase公司 我不

  • 问题内容: 我正在尝试将一些文本数据放入9中的表中。 文本包含一个单引号(’)。 我该如何逃避呢? 我尝试使用两个单引号,但是这给我带来了一些错误。 例如。 问题答案: *就像您在示例中向我们展示的一样, *通过将单引号加倍将其转义 。以下SQL说明了此功能。我在SQL Server 2008上对其进行了测试: 结果