shell or vim 如何在vim中或用别的工具,删除一个文本文件中,除了给定的POSIX字符集以外的其他字符?

sh/bash/dash/ksh/zsh等Shell脚本
回复
cao627
帖子: 992
注册时间: 2007-12-05 10:57
系统: ubuntu14.04
来自: 金山

shell or vim 如何在vim中或用别的工具,删除一个文本文件中,除了给定的POSIX字符集以外的其他字符?

#1

帖子 cao627 » 2012-04-10 18:18

如想保留[:alpha:] 和 [:digit:]字符,其他字符都删除
如何做?
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: shell or vim 如何在vim中或用别的工具,删除一个文本文件中,除了给定的POSIX字符集以外的其他字

#2

帖子 lilydjwg » 2012-04-10 18:30

用 tr 或者 sed 干掉。

代码: 全选

tr -dc '[:alpha:]' | tr -dc '[:digit:]'

代码: 全选

sed 's/[^[:alpha:][:digit:]]//g'
cao627
帖子: 992
注册时间: 2007-12-05 10:57
系统: ubuntu14.04
来自: 金山

Re: shell or vim 如何在vim中或用别的工具,删除一个文本文件中,除了给定的POSIX字符集以外的其他字

#3

帖子 cao627 » 2012-04-10 19:36

代码: 全选

's/[^[:alpha:][:digit:]]//g'
对某些特殊看不见字符 ,只在vim中用有效果

而用sed,删不掉这些特殊看不见字符

特殊看不见字符 不是 /r /n 空格 和 tab制表符
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: shell or vim 如何在vim中或用别的工具,删除一个文本文件中,除了给定的POSIX字符集以外的其他字

#4

帖子 lilydjwg » 2012-04-10 19:54

cao627 写了:

代码: 全选

's/[^[:alpha:][:digit:]]//g'
对某些特殊看不见字符 ,只在vim中用有效果

而用sed,删不掉这些特殊看不见字符

特殊看不见字符 不是 /r /n 空格 和 tab制表符
什么字母?在 vim 里按 ga 看编码。
cao627
帖子: 992
注册时间: 2007-12-05 10:57
系统: ubuntu14.04
来自: 金山

Re: shell or vim 如何在vim中或用别的工具,删除一个文本文件中,除了给定的POSIX字符集以外的其他字

#5

帖子 cao627 » 2012-04-10 19:59

00a0
昨晚一个人的帖子里看到的
在 vim 里按 ga 看编码。
学习了
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: shell or vim 如何在vim中或用别的工具,删除一个文本文件中,除了给定的POSIX字符集以外的其他字

#6

帖子 lilydjwg » 2012-04-10 20:03

cao627 写了:00a0
昨晚一个人的帖子里看到的
在 vim 里按 ga 看编码。
学习了
零宽空格。。。直接 tr -d 掉行不?
cao627
帖子: 992
注册时间: 2007-12-05 10:57
系统: ubuntu14.04
来自: 金山

Re: shell or vim 如何在vim中或用别的工具,删除一个文本文件中,除了给定的POSIX字符集以外的其他字

#7

帖子 cao627 » 2012-04-10 20:15

试了一下 用 tr命令行
回复