von Besserwisser » Do 30. Jul 2015, 12:58
Ein perl-Script, das das aktuelle Verzeichnis rekursiv nach beliebigen Dateien der Art *.* durchsucht, ist mit find2perl rasch erzeugt:
#! /usr/bin/perl -w
eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
if 0; #$running_under_some_shell
use strict;
use File::Find ();
# Set the variable $File::Find::dont_use_nlink if you're using AFS,
# since AFS cheats.
# for the convenience of &wanted calls, including -eval statements:
use vars qw/*name *dir *prune/;
*name = *File::Find::name;
*dir = *File::Find::dir;
*prune = *File::Find::prune;
sub wanted;
# Traverse desired filesystems
File::Find::find({wanted => \&wanted}, './');
exit;
sub wanted {
my ($dev,$ino,$mode,$nlink,$uid,$gid);
/^.*\..*\z/s &&
(($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
-f _
&& print("$name\n");
}
Für weitere Tests oder zusätzliche Ausgaben je Datei kann man bei Bedarf die Unterfunktion wanted erweitern.
Ansonsten: Die Frage, wie man ein Verzeichnis rekursiv durchsucht und dabei eine Liste von Dateien erzeugt, ist
keine LaTeX-Frage und damit bestenfalls off-topic. Wir können dir hier weder perl, noch cmd, noch Powershell, noch bash beibringen. Selbst für reine lua-Programmierung haben wir bisher keinen Bereich. Dieses Unterforum ist dafür in jedem Fall falsch!
Ein perl-Script, das das aktuelle Verzeichnis rekursiv nach beliebigen Dateien der Art *.* durchsucht, ist mit find2perl rasch erzeugt: [code]#! /usr/bin/perl -w
eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
if 0; #$running_under_some_shell
use strict;
use File::Find ();
# Set the variable $File::Find::dont_use_nlink if you're using AFS,
# since AFS cheats.
# for the convenience of &wanted calls, including -eval statements:
use vars qw/*name *dir *prune/;
*name = *File::Find::name;
*dir = *File::Find::dir;
*prune = *File::Find::prune;
sub wanted;
# Traverse desired filesystems
File::Find::find({wanted => \&wanted}, './');
exit;
sub wanted {
my ($dev,$ino,$mode,$nlink,$uid,$gid);
/^.*\..*\z/s &&
(($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
-f _
&& print("$name\n");
}
[/code]
Für weitere Tests oder zusätzliche Ausgaben je Datei kann man bei Bedarf die Unterfunktion wanted erweitern.
Ansonsten: Die Frage, wie man ein Verzeichnis rekursiv durchsucht und dabei eine Liste von Dateien erzeugt, ist [b]keine LaTeX-Frage[/b] und damit bestenfalls off-topic. Wir können dir hier weder perl, noch cmd, noch Powershell, noch bash beibringen. Selbst für reine lua-Programmierung haben wir bisher keinen Bereich. Dieses Unterforum ist dafür in jedem Fall falsch!