【发布时间】:2014-10-01 08:27:08
【问题描述】:
我有一个非常大的文本文件,我需要从中删除所有数字和破折号。
有没有办法通过命令行或 perl 一次性完成所有这些操作?
【问题讨论】:
-
你有没有尝试过?找到然后替换所有数字和破折号的漂亮小正则表达式脚本?
标签: perl shell text command-line command
我有一个非常大的文本文件,我需要从中删除所有数字和破折号。
有没有办法通过命令行或 perl 一次性完成所有这些操作?
【问题讨论】:
标签: perl shell text command-line command
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 .
【讨论】:
perl -pe's/[\d-]//g' file。
perl -pe tr/0-9-//d file'。 tr/// 无需加载正则表达式引擎即可完成工作。
:)