我在使用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()?谢谢你的帮助
发布于 2014-06-26 23:13:12
当您使用管道时,pgrep会自动匹配。如果您通过管道输入cat而不是wc,就可以验证这一点。您可以通过添加一些花括号来避免这种情况,这样模式就不再与自身匹配。
my $test = `pgrep -f '[b]labla' | /usr/bin/wc -l`;https://stackoverflow.com/questions/24433927
复制相似问题