![웹 프런트엔드 찾기/grep/ack](https://linux55.com/image/26409/%EC%9B%B9%20%ED%94%84%EB%9F%B0%ED%8A%B8%EC%97%94%EB%93%9C%20%EC%B0%BE%EA%B8%B0%2Fgrep%2Fack.png)
내 연구실에서는 사용자 입력이 가능한 네트워크를 구축하려고 합니다.문의find
, 의 경우 특정 디렉토리에 있습니다 ack
. grep
네트워크는 클릭 가능한 파일 목록이 포함된 테이블이 포함된 HTML을 반환합니다(파일을 클릭하면 파일이 다운로드됩니다).
예를 들어, 이 인터페이스에서 사용자는 브라우저의 양식에 단어를 입력하고 시스템은 호출하여 find . -name "*word*"
결과와 함께 HTML을 다시 보냅니다.
전에도 이런 일이 있었나요? 우리는 바퀴를 재발명하는 것을 피하고 싶습니다. 이 기능을 구축하는 데 도움이 되는 툴킷, 유틸리티 또는 소프트웨어 패키지는 무엇입니까?
답변1
이 경우 내가 가장 좋아하는 솔루션은 CGI Perl 스크립트입니다. 이렇게 하면 다음과 같은 특별한 경우를 처리할 수 있습니다.
word = " -delete -name "
그리고 파일 시스템의 경로에서 웹 서버 URL로의 매핑을 제공해야 합니다.
답변2
가장 간단하게 말하면 요구 사항은 매우 간단합니다.
하이퍼텍스트 마크업 언어
<html><body>
<form action="../cgi-bin/find_files.pl" method="POST">
<input type="text" name=name></input>
<input type=submit>
</form>
펄 스크립트
#!/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
하지만 이는 정적 텍스트에서만 작동하므로 로컬 디렉터리 목록을 브라우저로 가져오는 방법을 찾아야 합니다.