Sed删除包含n个字符的行
我在一个文件中有许多行,在我要删除的每一行上只包含“---”。但文件中还有许多其他行包含“SOMETEXT--SOMETEXT”Sed删除包含n个字符的行,sed,Sed,我在一个文件中有许多行,在我要删除的每一行上只包含“---”。但文件中还有许多其他行包含“SOMETEXT--SOMETEXT” sed-i“/-/d”将删除所有'-'实例,但我只想删除所有只包含'-'的行。您可以使用^和$来指示行的开始和结束 sed-i'/^-$/d'仅包含-的行将匹配正则表达式^-$ 如果您想包含带有前导/尾随空格的行,可以将其扩展到 ^\s*--\s*$ ^和$字符分别将搜索“锚定”到行首和行尾 或者,如果前面或后面有空间,并采用现代化的sed sed -i '/^[[
sed-i“/-/d”将删除所有'-'实例,但我只想删除所有只包含'-'的行。您可以使用
^
和$
来指示行的开始和结束sed-i'/^-$/d'
仅包含-
的行将匹配正则表达式^-$
如果您想包含带有前导/尾随空格的行,可以将其扩展到
^\s*--\s*$
^
和$
字符分别将搜索“锚定”到行首和行尾
或者,如果前面或后面有空间,并采用现代化的sed
sed -i '/^[[:space:]]*--[[:space:]]*$/' file
其中[:space:][/code>将找到空格字符和制表符
否则,应处理一个总的追溯sed
sed '/^[ ]*--[ ]*$/' file > newFile && mv newFile file
如果可能有制表符,那么只需包括一个制表符字符和空格字符,即\
[<Space><TAB>]
[]
但是不需要拼写,只需键入空格字符和制表符即可
IHTH
[<Space><TAB>]