如何使用Bash/SED删除包含字符间空格的行?
使用sed删除包含字符间空格的行
需求说明
删除文件中存在字符间空格的行,文件内容示例:
path:/Application Stuff/hey/ #team1
path:/Application/things/ #team2
解决方案
基础版(删除所有含空格的行)
直接用以下命令匹配所有包含空格的行并删除:
sed '/ /d' 你的文件名
精准版(仅删除字符间存在空格的行)
如果要排除行首或行尾的空格,只删除字符中间夹着空格的行,可用更精准的正则:
sed '/[^ ] [^ ]/d' 你的文件名
命令解释
/ /d:/ /匹配包含空格的行,d是sed的删除命令,执行后过滤掉所有含空格的行。/[^ ] [^ ]/d:[^ ]代表非空格字符,整个正则匹配"非空格字符+空格+非空格字符"的模式,精准定位字符间的空格,只删除符合该模式的行。
内容的提问来源于stack exchange,提问作者Kwoner
相关产品推荐
相关产品推荐

