使用pgrep和wc命令时遇到问题。我找到2行,我只期望1行。
my $test = `pgrep -f 'blabla'`;
print $test; <------ print the good PID (only one)
my $test = `pgrep -f 'blabla'|/usr/bin/wc -l`;
print $test; <------- print 2 and a carriage return
我发现在管道之前插入了回车符,因此wc计数2行。 有没有办法在管道之间做一个中间的chomp()? 谢谢你的帮助
答案 0 :(得分:2)
pgrep
匹配。如果您输入cat
而不是wc
,则可以验证这一点。你可以通过添加一些这样的大括号来避免这种情况,这样模式就不再与自身匹配了。
my $test = `pgrep -f '[b]labla' | /usr/bin/wc -l`;