39 lines
775 B
Perl
39 lines
775 B
Perl
|
use 5.18.0;
|
||
|
use File::Slurp;
|
||
|
use File::Find ;
|
||
|
use Cwd ;
|
||
|
|
||
|
my $topDir = "/Users/Henry/Documents/WACS/en_ulb";
|
||
|
|
||
|
my %found;
|
||
|
my @filesToRun = ();
|
||
|
my $filePattern = '*.usfm' ;
|
||
|
|
||
|
|
||
|
open LOG, ">/Users/Henry/Google Drive/WA/Scripts/out/log.log" or die;
|
||
|
open OUT, ">/Users/Henry/Google Drive/WA/Scripts/out/output.txt" or die;
|
||
|
|
||
|
find( sub { push @filesToRun, $File::Find::name if ( m/^(.*)$filePattern$/ ) }, $topDir) ;
|
||
|
|
||
|
foreach my $file ( @filesToRun )
|
||
|
{
|
||
|
print "$file\n" ;
|
||
|
my $fileText = read_file("$file", binmode => 'utf8');
|
||
|
$fileText =~ s/\n/ /g;
|
||
|
while ($fileText =~ /(\\[^ ]*) /g) {
|
||
|
my $code = $1;
|
||
|
unless (exists $found{$code}) {
|
||
|
$found{$code} = $code
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
foreach my $code (sort keys %found) {
|
||
|
say OUT $code
|
||
|
}
|
||
|
|
||
|
close OUT;
|
||
|
close LOG;
|
||
|
|
||
|
print "\n\tDone."
|