【发布时间】:2012-05-02 21:08:09
【问题描述】:
我正在尝试使用 Perl 从文件中读取行的特定部分。 有问题的文件具有以下语法。
# Sets $USER1$
$USER1$=/usr/....
# Sets $USER2$
#$USER2$=/usr/...
我的oneliner很简单,
perl -ne 'm/^\$USER1\$\s*=\s*(\S*?)\s*$/m; print "$1";' /my/file
由于某种原因,我多次重复提取 1 美元,显然在我的匹配发生后文件中的每一行都重复一次。我在这里错过了什么?
【问题讨论】:
-
你需要一个条件来测试匹配,例如
print if /..your regex ../;