Mah*_*aha 4 regex linux bash shell grep
我有文件行:
"H:\Check\WP_20140511_029.mp4"
Run Code Online (Sandbox Code Playgroud)
以及其他线路.我想删除指示目录的这些行H:\Check
.我试过了
grep -v ".*H:\\Check.*" testout.txt > testout2.txt
Run Code Online (Sandbox Code Playgroud)
但它没有删除那些行.我的正则表达式错了.*H:\\Check.*
.
regex101显示我的正则表达式正确匹配该行.
您可以使用:
grep -v 'H:\\Check' testout.txt > testout2.txt
Run Code Online (Sandbox Code Playgroud)
使用单引号来避免反斜杠的过度转义非常重要.
使用双引号等效命令将是这样的:
grep -v "H:\\\Check" testout.txt > testout2.txt
Run Code Online (Sandbox Code Playgroud)
编辑:
\\
在双引号中,由于仅在双引号中发生的shell扩展,相当于单个反斜杠.从这些echo
命令可以看出:
echo "H:\\Check"
H:\Check
echo 'H:\\Check'
H:\\Check
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6194 次 |
最近记录: |