微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 如何删除其中包含特殊字符的行

我有一个大文本文件,其中有很多特殊字符,如“$!@%#$/”加上更多,如果该行中有任何特殊字符,我想删除文本文件中的行.我想要保留的唯一字符是a-z和A-Z.

如果这是文件……

!Somejunk)(^%
)%(&_
this
my_file
is
*(%%$
the
they're
file

然后唯一剩下的就是……

this
is
the
file

使用linux命令行工具,bash脚本或python脚本的解决方案会更好,但任何有效的方法都可以!

解决方法:

如果你想只保留带字母字符的行(如OP请求的那样),那么:

$grep -v '[^a-zA-Z]' foo

或者,如果您只想要英文字符:

$grep -v '[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMnopQRSTUVWXYZ]' foo

但是如果你只想删除非字母字符,sed将完成这项工作:

$cat foo | sed 's/[^a-zA-Z]//g'

或者,如果您只想杀死二进制,不可打印的数据,请使用字符串:

$strings foo

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐