正则表达式从Unix中的.txt文件中删除垃圾

时间:2013-04-27 10:52:21

标签: unix

我是Unix新手。 我正在使用sed命令从Unix中的.txt文件中删除垃圾。 这是我使用的命令 -

sed -e 's/[^ -~]//g' final.txt > file1_now

但是在这里我遇到了一个问题,这些垃圾被删除了,但是如果我的数据包含一个' - '也会被删除。我不想那样。

感谢您的帮助。

谢谢, Binayak

1 个答案:

答案 0 :(得分:1)

尝试这样做:

sed -e 's/[^ ~-]//g' final.txt > file1_now

-字符必须是您的字符类中的最新(或第一个),因为在其他情况下含义不同:它表示{{1}中的范围}


  

如果 - 字符是括号内的最后一个或第一个(在^后面)字符,则将字符视为文字字符:[abc-],[ - abc]。

http://en.wikipedia.org/wiki/Regular_expression