2016-09-20 53 views
1

我有一個文件,並願做搜索和替換 - 如圖所示搜索和VI更換(woth TAB航天和新行)

MY_NAME GROUP_1 \(TAB)(SPACE)

( TAB)(SPACE)級{student_1}

MY_NAME group_2 \(TAB)(SPACE)

(TAB)(SPACE)級{student_1}

MY_NAME group_3 \(TAB)(SPACE )

(TAB)(SPACE)級{} student_3

請注意 - 之前「-class」有TAB和空間

我用vi。從上面的字符串願意做這樣的事情 -

MY_NAME -class GROUP_1 {} student_1

MY_NAME group_2 -class {} student_1

MY_NAME group_3 -class {} student_3

我試着搜索並替換爲:%s,選中整個文件並執行 - :s/..

但是沒有成功。你可以幫我嗎?

回答

0

首先使用下面的命令的單個空間替換所有選項卡:

1,$s/\t/ /g 

接着,搜索兩個空間跟着一個新行,並刪除它們。

1,$s/ \n//g 

如果有任何更多的尾隨空格,您可以將其刪除:

s/ \{2,}/ /g 

最後的命令將取代2個或多個空格用一個空格。