Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 转义反斜杠后的Grep问题_Linux_Bash_Grep - Fatal编程技术网

Linux 转义反斜杠后的Grep问题

Linux 转义反斜杠后的Grep问题,linux,bash,grep,Linux,Bash,Grep,我在试着把绳子弄断 "SNTCHDCS06-Filesystem D:\\ Label:Data Serial Number f8271450" 从csv文件,但不知何故,我失败了悲惨 我知道我需要在两个反斜杠(一个用于shell,一个用于bash)的顶部添加两个反斜杠,但在这之后就不起作用了 下面的命令起作用 [root@nagiospdc01 folder]# grep -e "^SNTCHDCS06-Filesystem D:\\\\" in/masterlist.csv SNTCHD

我在试着把绳子弄断

"SNTCHDCS06-Filesystem D:\\ Label:Data  Serial Number f8271450"
从csv文件,但不知何故,我失败了悲惨

我知道我需要在两个反斜杠(一个用于shell,一个用于bash)的顶部添加两个反斜杠,但在这之后就不起作用了

下面的命令起作用

[root@nagiospdc01 folder]# grep -e "^SNTCHDCS06-Filesystem D:\\\\" in/masterlist.csv
SNTCHDCS06-Filesystem D:\\ Label:Data  Serial Number f8271450,SNTCHDCS06,10.24.64.210,Active Directory,AD Server,UCS,Filesystem D:\\ Label:Data  Serial Number f8271450,Windows Team,0,XM_OPS_WIN,Windows Team,Y,Y,N,N,Y,Y,Y,Y,Y,N,N,Y,Y,ITOC
当我尝试在那之后grep空间时,grep不起作用,只是失败了

[root@nagiospdc01 folder]# grep -e "^SNTCHDCS06-Filesystem D:\\\\ " in/masterlist.csv
如果有人能告诉我正确的grep语法和命令,我将不胜感激。

使用单引号

grep -e '^SNTCHDCS06-Filesystem D:\\ Label:Data Serial Number f8271450'
使用双引号时,bash会将
\\
转换为单个
\
。但是,bash不会查看单引号

从Bash手册:

将字符括在单引号(
)中会保留引号中每个字符的文字值。单引号不能出现在单引号之间,即使前面有反斜杠

将字符括在双引号中(
)将保留引号中所有字符的文字值,但
$
`
\
除外,并且,当启用历史扩展时,
。字符
$
`
在双引号中保留其特殊含义(请参阅)。反斜杠只有在后跟以下字符之一时才保留其特殊含义:
$
`
\
或换行符。在双引号中,后跟这些字符之一的反斜杠将被删除。没有特殊含义的反斜杠前面的字符将保持不变。双引号可以通过在双引号中加反斜杠来引引。如果启用,将执行历史扩展,除非出现在双引号中的n
使用反斜杠转义。不删除
前面的反斜杠

特殊参数
*
@
在双引号中具有特殊意义(请参阅)


grep中的-F选项允许搜索固定字符串。单引号还有助于搜索精确的字符串

-F、 --固定字符串: 将模式解释为固定字符串的列表,由新行分隔,其中任何一个都要匹配

grep -F 'SNTCHDCS06-Filesystem D:\\ Label:Data  Serial Number  f8271450' masterlist.csv

*SNTCHDCS06-Filesystem D:\\ Label:Data  Serial Number f8271450*