如何使用SED替换或删除'./','>'
等非字母字符?
答案 0 :(得分:1)
这可能适合你(GNU sed):
sed 's/[^[:alpha:]]//g' file
或者你的意思是:
sed 's/[[:punct:]]//g' file
这将保留空格/标签等。
有关详细信息,请参阅here。
答案 1 :(得分:0)
这样的事情可以解决问题:
sed 's/[^a-zA-Z]//g'
...转换为(英文):替换所有不在字母表中的事件,没有任何内容。
正则表达式character classes匹配您在方括号之间指定的任何字符或字符组。如果括号中的第一项是“^”字符,则告诉正则表达式引擎字符类是否定的,这意味着不应该匹配由字符类的其余部分指定的任何字符,而是其他任何字符。应该。
所以在我的解决方案中,我说“匹配所有小写和大写字母”,然后否定它。
命令末尾的“g”表示:匹配所有事件,而不仅仅是第一个事件。没有它,只会删除第一个非字母字符。
当然,您可以将最后两个正斜杠之间的“无”替换为您想要替换非字母字符的任何内容。