从文本文件中删除所有数字和短划线?

时间:2014-08-07 23:04:24

标签: perl shell text command-line command

我有一个非常大的文本文件,我需要删除所有数字和破折号。

有没有办法通过命令行或perl一次完成所有这些?

1 个答案:

答案 0 :(得分:2)

tr是您的朋友,以及要删除的-d选项。

tr -d '[0-9-]' < file

要更新文件,您可以执行tr -d '[0-9-]' < file > tmp_file && mv tmp_file file

sed

sed 's/[0-9-]//g' file

要更新文件,您可以使用sed -i.bak 's...' file。这将执行就地编辑:file将使用新内容进行更新,并将创建file.bak备份文件。

测试

$ cat a
hello this is -23 and 45 bla-bla
hello bye 23.
$ tr -d '[0-9-]' < a
hello this is  and  blabla
hello bye .