Allegato "29giu18perl.pl"
Scarica 1 #!/usr/bin/perl
2
3 # Check dei parametri
4 $option = shift || die "Too few arguments - missing option ! $!";
5 $folder = shift || die "Too few arguments in input - missing folder ! $!" if ($option eq "--sync");
6 $filename = $option if ($option ne "--sync");
7 die "Too much parameters in input ! $!" if($#ARGV >= 0);
8
9 if ($option eq "--sync") {
10 @file_list = qx{ls -aR $folder};
11
12 # $checkIfExist = qx{file database.db};
13 # if (! ($checkIfExist =~ m/No such file or directory/)) {
14
15 # if (-e "path/file") è una shortcut per chiedere a perl se un file esiste oppure no
16 if (-e "database.db") {
17 open($fh, "<", "database.db") || die "Cannot open file in read mode ! $!";
18 @arrayFile = <$fh>;
19 close $fh;
20 }
21 open($fh, ">", "database.db") || die "Cannot open file in write mode ! $!";
22 foreach (@arrayFile) {
23 # Se $folder fosse uguale alla directory "." si dovrebbe controllare l'attuale path della directory di lavoro (comando pwd)
24 # per semplicità ignoriamo questo caso particolare
25 print $fh $_ unless (m/$folder/);
26 }
27 foreach (@file_list) {
28 chomp;
29 if (m/^($folder.*)\s*:/) {
30 $location = $1;
31 next;
32 }
33 print $fh "$location --> $_\n" if (m/[^\.]/);
34 }
35 close $fh;
36 }
37 else {
38 open($fh, "<", "database.db") || die "Cannot open file in read mode ! $!";
39
40 while (<$fh>) {
41 print "$1/$2\n" if (m/(.*)\s-->\s($filename.*)/);
42 }
43 close $fh;
44 }
Allegati
Non è consentito inserire allegati su questa pagina.