在vi中搜索和替换(WAB TAB& SPACE& new line)

时间:2016-09-20 05:16:31

标签: search replace vi

我有一个文件,想要搜索和替换 - 如图所示

My_name group_1 \(TAB)(SPACE)

(TAB)(SPACE)-class {student_1}

My_name group_2 \(TAB)(SPACE)

(TAB)(SPACE)-class {student_1}

My_name group_3 \(TAB)(SPACE)

(TAB)(SPACE)-class {student_3}

请注意 - 在'-class'之前有TAB和SPACE

我正在使用vi。从上面字符串想做这样的事情 -

My_name group_1 -class {student_1}

My_name group_2 -class {student_1}

My_name group_3 -class {student_3}

我尝试搜索并替换为:%s,选择整个文件并执行 - :s /..

但没有成功。你能救我吗?

1 个答案:

答案 0 :(得分:0)

首先使用以下命令用一个空格替换所有选项卡:

1,$s/\t/ /g

接下来,搜索两个空格,后跟换行符并删除它们。

1,$s/  \n//g

如果还有更多的尾随空格,您可以通过以下方式删除它们:

s/ \{2,}/ /g

最后一个命令将用一个空格替换2个或更多空格。