Веб-интерфейс для поиска / grep / ack

В моей лаборатории мы пытаемся создать веб-сайт, который позволяет пользователю вводить запросы для find , ack , grep в определенном каталоге. Веб вернет HTML с таблицей списка кликаемых файлов (щелкните по ним, чтобы загрузить файл).

Например, в этом интерфейсе пользователь вводит слово в форме в браузере, и система будет называть find . -name "*word*" find . -name "*word*" и отправить HTML-код с результатом.

Что-то вроде этого было сделано раньше? Мы не хотели бы изобретать колесо. Какие инструменты, утилиты или пакеты будут полезны для создания этой функции?

Мое любимое решение в этом случае – скрипт Perl CGI. Таким образом, вы можете обрабатывать специальные случаи, такие как

 word = " -delete -name " 

и вы должны предоставить сопоставление от пути в вашей файловой системе к URL-адресу веб-сервера.

В самом простом, то, что вы просите, очень просто:

HTML

 <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>";