我试图给变量分配一个带有通配符的文件路径,然后在grep命令中使用该变量。不幸的是,当我运行它时,没有看到通配符。我试图使用。*来代替,甚至作为一个正则表达式,但都没有奏效。任何帮助,将不胜感激。在变量中传递通配符与Perl中的grep一起使用?
我期待到grep与ftp_log开头的所有文件,因此,在命令行上这将是:
似乎无法翻译它在Perl的工作,虽然。
$filename = "\/sysadm\/shared\/NCC\/logs\/" . $SYSTEM . "\/ftp_log.*";
`grep ftpd $filename | sed 's/\*//g' > $searchfile`;
的grep:/ SYSADM /共享/ NCC /日志/ sslmlvfp1/ftp_log .:没有这样的文件或目录
感谢。
为什么在世界上你会想要从Perl程序中掏出'grep'或'sed'? – 2014-10-06 14:55:34
因为它完成了工作。我仍然在学习语言...... – cycloxr 2014-10-06 14:56:58
如果您交互式地运行带有Perl输出的完整路径的'grep'('grep ftpd/sysadm/shared/NCC/logs/sslmvfp1/ftp_log。*'),这是否正常工作?看起来你只是有错误的路径名。 (另外,你的输出信息与你的代码不匹配 - 它缺少'*'。检查你的复制/粘贴。) – 2014-10-06 15:02:27