首先,我还在学习正则表达式,我已经用Google搜索了这个,但仍然无效。
如何使用sed
删除变量中除字母和数字之外的所有字符?例如,我有这个文本文件:
MytextOnly !@#!text@@32423#@$text#%$#text%#t23432ext$32342%^-_+-=-_++_;:"'][}}{|\/
如何只显示字母和数字?
答案 0 :(得分:2)
您可以使用:
sed 's/[^[:alnum:]]\+//g' file
MytextOnlytext32423texttextt23432ext32342
[^[:alnum:]]
属性将找到所有非字母数字字符。
编辑:根据以下评论:
sed 's~[^[:alnum:]/]\+~~g' file
MytextOnlytext32423texttextt23432ext32342/
答案 1 :(得分:2)
使用grep
grep -o '[[:alnum:]]' file
同意,没有完美的输出,但一切都在那里
使用tr
$ tr -d -c '[:alnum:]' < file
MytextOnlytext32423texttextt23432ext32342
如果你还想继续使用斜杠:
$ tr -d -c '[:alnum:]/' < file
MytextOnlytext32423texttextt23432ext32342/
对于python解决方案,请参阅https://stackoverflow.com/a/5843560/297323