如果一个文件没有被另一个文件使用,如何删除

时间:2019-03-11 18:49:26

标签: html perl

我必须通过删除所有未使用的文件来清理目录及其子目录。 (如果文件未链接到任何文件,则视为未使用 HTML文件,或者未明确指定正在使用此文件)。可以通过hrefimg src在HTML文件中链接文件。

例如,我有一个I.html1.html2.html1文件夹。在I.html文件中,href使用1.html1目录,但其他文件未使用2.html。那么,如何删除未使用的2.html文件?

use strict;
use warnings;
my($path,$regexExpression) = @ARGV;
my $fileNames = "data.txt";
my @abc= ();
if(not defined $path){
  die "File directory not given, please  try again \n"
}
print "added file ";  
if (not defined $regexExpression) {  
  $regexExpression="*";
  print "--Taking default Regular Expression. \n"
}
if (defined $regexExpression) {
  print "The regular Expression : $regexExpression \n";
  my $directorypathx= `pwd`;
  my ($listofFileNames) = findFilesinDir($path); 
  my ($listofLinks) = readallHrefInaFile();
  my ($listofImage) = readImageFile();
  print $listofLinks; 
 }
sub findFilesinDir{
  print "inside subroutines ", $path,"\n";
  my($pathName) = @_;
  my $fileNames =`find '$pathName' -name '$regexExpression' | sort -h -r > $fileNames ` ;
  if (-l $fileNames){
    return $fileNames;
  } 
 }
sub readallHrefInaFile{
  my $getAllLinks = ` grep -Eo "<a .*href=.*>" $path*.html | uniq ` ;
  push (@abc,$getAllLinks);
}

sub readImageFile{
  print "image files \n";
  my $getAllImage = ` grep -Eo "<img .*src=.*>" $path*.html | uniq `;
  push (@abc,$getAllImage);
}
print @abc;

I.html

<html>
  <head>
    <title>Index</title>
  </head>

  <body>
    <h1>Index</h1>

    <a href="1.html">1</a>

    <h1>Downloads</h1>

    <a href="downloads/s.zip">Compressed craters</a>

    <hr>
  </body>
</html>

1.html

<html>
  <head>
    <title>1</title>
  </head>

  <body>
    <h1>1</h1>

    <img src="images/1-1.gif" />
    <img src="images/1-2.gif" />


    <hr>
  </body>
</html>

0 个答案:

没有答案