Answers:
我能够用反斜杠来做到这一点:
25 % grep \< xmospos.c
#include <stdio.h>
#include <stdlib.h>
#include <getopt.h>
#include <X11/Xlib.h>
引号小于和引号反斜线都比这两个都低得出奇。
grep -oP '(?< )(.*)$'
例如,单引号不起作用。首先尝试了它。
(?<! )(.*)$
还是(?<= )(.*)$
?
两个简单的规则:
\C
转义除换行符外的下一个字符(无论是什么)。'text'
转义它们之间的任何字符,包括反斜杠,但不包括单引号(因为它标记了引用文本的结尾)。从而:
grep -P '<html>' myfile
grep -P \<html\> myfile
grep -P '(?<!<)html' myfile
grep -P \(\?\<\!\<\) myfile
如果需要传递包含单引号的参数,则可以使用'\''
“转义”单引号内的单引号。从技术上讲,这是在第一个文字文本的结尾,然后将一个文字'
放入相同的单词中,然后在相同的单词中放置更多文字。
grep '^D'\''oh!' myfile
其余的报价规则(汇总):
!"#$&'()*;<>?[\]^`{|}~
(换句话说,以下字符是安全的:字母,数字%+,-./:=@_
和非ASCII字符)。"$\`
和和(在启用了历史记录的shell中)!
。除非在非文字字符之一之前,否则双引号之间的反斜杠将出现在字符串中。这些规则适用于bash和其他Bourne样式的shell(例如ash和ksh)。它们也适用于zsh(除非=
在空格后可能需要引用)。csh / tcsh和Fish中的规则不同。