【问题标题】:Remove all numbers and dashes from text file?从文本文件中删除所有数字和破折号?
【发布时间】:2014-10-01 08:27:08
【问题描述】:

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

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

【问题讨论】:

  • 你有没有尝试过?找到然后替换所有数字和破折号的漂亮小正则表达式脚本?

标签: perl shell text command-line command


【解决方案1】:

tr 是你的朋友,连同-d 选项一起删除。

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

要更新你的文件,你可以tr -d '[0-9-]' &lt; file &gt; tmp_file &amp;&amp; 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/// 无需加载正则表达式引擎即可完成工作。
  • @DaveCross 当然!期待你的书!! :)
猜你喜欢
  • 2014-09-10
  • 2023-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-27
  • 1970-01-01
  • 2019-11-02
相关资源
最近更新 更多