我在vi编辑器中有800行代码。每行前面有8个额外的空格。如何一次为所有800行删除8个空格?
请注意一些行
abc
dbc
hfs
但在每行前面有8个空格,我只需删除那8个空格,其余空格必须保持不变。
答案 0 :(得分:2)
1,$ s/^ //g
^
之后和/
之前有8个空格。
答案 1 :(得分:1)
使用sed
:
sed 's/^ \{8\}//' file.txt
替换模式s/^ \{8\}//
将用行替换行开头的8个空格。
作为旁注,如果您要替换所有水平空格(在locale
中),而不仅仅是空格,请使用字符类[:blank:]
:
sed 's/^[[:blank:]]\{8\}//' file.txt
同样awk
具有sub()
功能:
awk 'sub("^ {8}", "") 1' file.txt
awk 'sub("^[[:blank:]]{8}", "") 1' file.txt
答案 2 :(得分:0)
试试这个:
sed 's/ *$//' file
这将删除每行末尾的所有空格。