Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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
Regex 使用带有方括号和引号的sed删除模式_Regex_Shell_Sed - Fatal编程技术网

Regex 使用带有方括号和引号的sed删除模式

Regex 使用带有方括号和引号的sed删除模式,regex,shell,sed,Regex,Shell,Sed,如何使用sed删除具有此模式的线 resourceNames: [""] 我试过了 sed -i '/resourceNames: [""]/d' ./sa.yaml 文件的一部分如下所示 - apiGroups: [""] resources: ["secrets"] resourceNames: [""] verbs: ["get"] --- 好的,我在代码中找到了问题。这起作用了 sed -i '/ resourceNames: [[]""[]]/d' ./sa.ya

如何使用sed删除具有此模式的线

resourceNames: [""]
我试过了

sed -i '/resourceNames: [""]/d' ./sa.yaml
文件的一部分如下所示

- apiGroups: [""]
  resources: ["secrets"]
  resourceNames: [""]
  verbs: ["get"]
---

好的,我在代码中找到了问题。这起作用了

 sed -i '/  resourceNames: [[]""[]]/d' ./sa.yaml

为您的
sed
命令提供更好、更健壮的正则表达式:

sed -i '/\s*resourceNames:\s*\[""\]/d' ./sa.yaml

如果您只是转义
[]
以避免它们被解释为字符范围,字符列表也是,最好使用
\s*

而不是空格。如果必须删除任何包含
资源名称的行,
sed-i'/resourceNames:/d'
。。不必匹配整行。。否则,示例可能会添加带有
resourceNames
的行,这些行将被保留和删除