Web前端find/grep/ack

Web前端find/grep/ack

在我的实验室中,我们正在尝试构建一个允许用户输入的网络查询对于特定目录上的 , find, ackgrep网络将返回一个 HTML,其中包含可点击文件列表的表格(点击它们将下载文件)。

例如,在此界面中,用户将在浏览器的表单中键入一个单词,系统将调用find . -name "*word*"并发送回带有结果的 HTML。

以前有过类似的事情吗?我们希望避免重新发明轮子。哪些工具包、实用程序或软件包有助于构建此功能?

答案1

在这种情况下,我最喜欢的解决方案是 CGI perl 脚本。通过这种方式,您可以处理特殊情况,例如

word = " -delete -name "

并且您必须提供从文件系统中的路径到 Web 服务器 URL 的映射。

答案2

最简单地说,您的要求非常简单:

超文本标记语言

<html><body>
 <form action="../cgi-bin/find_files.pl" method="POST">
  <input type="text" name=name></input>
  <input type=submit>
 </form>

Perl脚本

#!/usr/bin/perl
use CGI qw(:standard);
use CGI::Carp qw(warningsToBrowser fatalsToBrowser); 
my $cgi = new CGI;
my $target='/tmp';   ## directory to search in
my $name = $cgi->param('name') || carp("no search terms entered");
my $res=`find $target -name $name`;
my @lines=split(/\n/,$res);
print header;
print "<table>";
foreach my $line (@lines) {
    print "<tr><td>$line</td></tr>";
}
print "</table>";

答案3

这是一个基于网络的工具,就像您所要求的那样,它自 2009 年以来就已经存在:https://www.online-utility.org/text/grep.jsp

但它只适用于静态文本,因此您必须找到一种方法将本地目录列表放入浏览器中。

相关内容