答案1
您没有转义"
字符。之前的双反斜杠将被替换为单反斜杠,并且"
不会转义。请删除一个反斜杠或添加一个。
尝试这个正则表达式:
grep -i '^[0-9a-z _]\+\.png\([^0-9a-z]+\|$\)' file | grep -v '^[0-9A-Za-z _]\+\.\(png\|PNG\)\([^0-9A-Za-z]\|$\)'
它将匹配从行首开始包含以下内容的所有行:
- 至少一个字符
0-9
(范围为0
,,1
...,9
字符),a-z
' '
(空格),'_' - 一个点(需要用反斜杠转义,否则将表示“任何单个字符”)
- ‘png’(或‘Png’等,因为
-i
已添加) - 并且后面没有任何
0-9
和a-z
字符(或A-Z
因为-i
添加了)。
-i
- 将禁用区分大小写