我在vi編輯器中有800行代碼。每行前面有8個空格。我怎樣才能一次刪除所有800行的8個空格?在所有800行的每行前刪除8個額外的空格
請注意一些線
abc
dbc
hfs
但everyline的前面有8個空格,我只需要這8位被刪除,剩下的空間必須保持不變。
我在vi編輯器中有800行代碼。每行前面有8個空格。我怎樣才能一次刪除所有800行的8個空格?在所有800行的每行前刪除8個額外的空格
請注意一些線
abc
dbc
hfs
但everyline的前面有8個空格,我只需要這8位被刪除,剩下的空間必須保持不變。
在vi 1,$ s/^ //g
。在^
之後和/
之前有8個空格。
它工作。謝謝 –
作爲+1:使用'%'相當於'1,$'。 –
謝謝Greg。我真的不是一個虛無v。的人。更多的Emacs人。這些只是我早年用vi記得的東西。 –
試試這個:
sed 's/ *$//' file
這將刪除所有的空間是在每行的末尾。
空格在每行之前 –
那裏對於所有800行代碼,每行前有8個額外空格。我想在每行之前只刪除所有800行代碼中的8個空格。你能幫忙嗎? –
sed
隨着:
sed 's/^ \{8\}//' file.txt
的替換模式,s/^ \{8\}//
,將在與零線(S)的開始代替8個空格。
作爲一個側面說明,如果你正在尋找替換所有水平空白字符(在你的locale
),而不僅僅是空間,使用的字符類[:blank:]
:
sed 's/^[[:blank:]]\{8\}//' file.txt
同樣awk
與sub()
功能:
awk 'sub("^ {8}", "") 1' file.txt
awk 'sub("^[[:blank:]]{8}", "") 1' file.txt
您可以將http://stackoverflow.com/questions/6961705/vim-delete-the-first-2-spaces-for-multiple-lines改編爲8個空格,不是嗎? –
或者IFS = read -r行的純bash解決方案;做echo $ {line:8};完成< file.txt > newfile.txt' –
或者直接在Vim中,只需':1,$ s/^ //'(^ ....... /'之間的8個空格) –