in reply to perl file processing
You can feed your ls command into this, change <DATA> to just <> in order to read stdin. perl thisprog <yourLScommand
#usr/bin/perl use strict; use warnings; my %fileBaseNames; while (my $fullName = <DATA>) { next if ($fullName =~ /^s*$/); #skip blank lines #separate the full name into name and extension my ($name, $ext) = ($fullName =~ /(\w+)\.(\w+)/); push( @{ $fileBaseNames {$name} }, $ext); } # Each hash key of %fileBaseNames contains an array of the # .extensions found for that name foreach my $baseName (sort keys %fileBaseNames) { my (@extensions) = @{$fileBaseNames{$baseName}}; print "file $baseName has the extensions: @extensions\n"; #code to use that for selective copy goes here... } =EXAMPLE printout file TRC_20160308_1 has the extensions: PDF PL file TRC_20160309_1 has the extensions: ARC PDF ADF file TRC_20160310_1 has the extensions: PDF Process completed successfully =cut __DATA__ TRC_20160309_1.ARC TRC_20160309_1.PDF TRC_20160309_1.ADF TRC_20160308_1.PDF TRC_20160308_1.PL TRC_20160310_1.PDF
|
|---|