regex – 如何读取此命令以删除行尾的所有空格

前端之家收集整理的这篇文章主要介绍了regex – 如何读取此命令以删除行尾的所有空格前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 http://rayninfo.co.uk/vimtips.html发生了这个充满超级有用且相当神秘的vim技巧的页面.我已经尝试了其中的一些,我理解发生了什么,足以能够在我脑海中正确地解析它,以便我以后可以重新创建它.一个我很难让我的脑袋缠绕,但是以下两个命令可以从每一行的末尾删除所有空格
:%s=  *$==                  : delete end of line blanks
:%s= \+$==                  : Same thing

我正在将%s解释为文件中每一行的字符串替换,但之后我迷失了看起来像s和regex的一些粗略变化.我习惯于看到和使用:s / regex / replacement.但上述情况令人困惑.

以上命令在英语中是什么意思,一步一步?

正则表达式分隔符不必是斜杠,它们也可以是其他字符.如果您的搜索或替换字符串包含斜杠,这很方便.在这种情况下,我不知道为什么他们使用等号而不是斜线,但你可以假装等于是斜线:
:%s/  *$//     
:%s/ \+$//

那有意义吗?第一个搜索空格,后跟零个或多个空格,第二个搜索一个或多个空格.每个都用$固定在该行的末尾.然后替换字符串为空,因此删除空格.

实际上,我理解你的困惑.如果你看一下:help:s你必须向下滚动几页才能找到这个笔记:

*E146*

Instead of the '/' which surrounds the pattern and replacement string,you
can use any other character,but not an alphanumeric character,'\','"' or
'|'. This is useful if you want to include a '/' in the search pattern or
replacement string. Example:

06001

原文链接:https://www.f2er.com/bash/384091.html

猜你在找的Bash相关文章