-1

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

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

但在这里我面临一个问题,垃圾被删除,但如果我的数据包含一个也被删除的“-”。我不想要那个。

感谢你的帮助。

谢谢,比纳亚克

4

1 回答 1

1

尝试这样做:

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

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


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

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

于 2013-04-27T10:53:53.913 回答