【发布时间】:2013-07-13 23:12:12
【问题描述】:
我正在尝试使用 Perl 单行提取一组字符,但我没有成功:
echo "hello_95_.txt" | perl -ne 's/.*([0-9]+).*/\1/'
什么都不返回,而我希望它返回95。我怎样才能用 Perl 做到这一点?
更新:
请注意,与建议的副本相比,我对如何从 命令行 执行此操作很感兴趣。当然,这看起来是一个微妙的区别,但它并不简单,除非您已经知道如何有效地使用 Perl 单行代码。
既然人们在问,最终我想学习使用 Perl 编写强大的单行代码,但最迫切的是我需要一个单行代码来从大文本文件中的每一行中提取连续的数字。
【问题讨论】:
-
这不是 perl,它是 sed。你想做什么?从文件名中提取整数?
-
谢谢@YatinSaraiya 我已经更新了我的 OP。我想使用 Perl,而不是 sed。
-
最后我想用这个单行从大文本文件的每一行中提取连续的数字
-
谢谢@YatinSaraiya 你可能是对的,但我正在尝试切换到 Perl 来完成大多数文本提取/替换任务(使用 awk/sed/etc 学习复杂查询的语法可能很乏味)跨度>
标签: perl