我有像这样的台词
1|Harry|says|hi
2|Ron|says|bye
3|Her mi oh ne|is|silent
4|The|above|sentence|is|weird
Run Code Online (Sandbox Code Playgroud)
我需要一个grep命令来检测第三行.
这就是我在做的事情.
grep -E '" "" "+' $dname".txt" >> $dname"_error.txt"
Run Code Online (Sandbox Code Playgroud)
我所依据的逻辑是,第一个空格必须后面跟着一个或多个空格才能被检测为错误.
$ dname是一个保存文件名路径的变量.
我如何获得所需的输出?
(是的
3|Her mi oh ne|is|silent
Run Code Online (Sandbox Code Playgroud)
)
grep '[[:space:]]\{2,\}' ${dname}.txt >> ${dname}_error.txt
Run Code Online (Sandbox Code Playgroud)
如果你想捕获2个或更多的空格.
这样做就可以了:
grep " " ${dname}.txt >> ${dname}_error.txt
Run Code Online (Sandbox Code Playgroud)
带引号的字符串中的两个空格工作正常。的-E接通模式进入扩展正则表达式,这使得该不必要这里复杂。