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

如何grep表示美元符号($)?

龚镜
2023-03-14
问题内容
% cat temp
$$$ hello1
$$  hello2
    hello3
##  hello4
    hello5 $$$
% cat temp | grep "$$$"
Illegal variable name.
% cat temp | grep "\$\$\$"
Variable name must contain alphanumeric characters.
%

我想要grep $$$,我希望结果是

% cat temp | grep <what should go here?>
$$$ hello1
    hello5 $$$
%

为了区分,我将提示标记为%

  • 这里有什么问题?
  • 应该采取什么 grep的字符串 是什么?

问题答案:

问题在于外壳程序在双引号字符串内扩展了变量名。因此,"$$$"它尝试读取以first开头的变量名$

另一方面,单引号中的变量不会扩展。因此,如果不是因为在正则表达式中表示行尾的特殊字符这一事实,那'$$$' 将是
可行的$。因此需要进行转义:'\$\$\$'



 类似资料:
  • 问题内容: 以下grep表达式成功列出了当前目录和子目录中的所有.exe和.html文件。 我该如何反转此结果以列出不是.html或.exe的结果。(即。) 问题答案: 使用命令行选项或,

  • 问题内容: 我从Google的数据API获取JSON提要,并且许多属性名称以$字符(美元符号)开头。 我的问题是我无法使用以美元符号开头的变量名称创建C#类,该语言不允许这样做。我正在使用Newtonsoft的JSON.NET将JSON转换为C#对象。我该如何解决这个问题? 问题答案: 您可以尝试使用属性指定名称:

  • 我使用XML用Java和Intellij IDE生成一个jasper报告,jasper版本是5.0.4。 在文件中有欧元符号,但是在pdf上创建报表时,我看到的是而不是 它是如何来的,我应该向文件添加什么来解决这个问题?

  • 我试图使用ikvmc从Scala代码编译的jar文件生成的DLL(是的,我的日子过得很好)。Scala编译器似乎为操作符重载生成包含美元符号的标识符,而IKVM使用生成的DLL中的标识符(我可以在Reflector中看到)。问题是,美元符号在C#代码中是非法的,所以我不能引用那些方法。 有办法解决这个问题吗?

  • 本文向大家介绍Java中的正则表达式“ $”(美元)元字符,包括了Java中的正则表达式“ $”(美元)元字符的使用技巧和注意事项,需要的朋友参考一下 子表达式/元字符“ $ ”与行尾匹配。 例子1 输出结果 例子2 以下Java程序从用户接受5个字符串,并打印以数字结尾的字符串。 输出结果

  • 问题内容: 如何递归所有目录和子目录? 问题答案: 第一个参数表示要搜索的正则表达式,而第二个参数表示应搜索的目录。在这种情况下,表示当前目录。 注意:这适用于GNU grep,在某些平台(如Solaris)上,必须专门使用GNU grep而不是传统实现。对于Solaris,这是命令。