Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Perl - Dateinamen ermitteln

Mitglied: BadFsaadKl

BadFsaadKl (Level 1) - Jetzt verbinden

23.08.2019 um 12:51 Uhr, 303 Aufrufe, 2 Kommentare

Hallo zusammen,

ich muss mittels Perl ein kleines Skript schreiben, welches mir anhand einer Wildcard Suche 2 Dateinamen in einem Verzeichnis ermittelt und jeweils in eine Variable zur weiteren Verarbeitung schreibt.

Ausgangslage:
In einem Verzeichnis wird immer ein Filepärchen (exp*.dat & exp*.flg) angeliefert.
Der Filename beginnt immer mit einem exp, danach kommt ein beliebiger/variabler Zahlenwert.

Beide Dateinamen sind bis auf die Endung identisch.
Ich muss nun prüfen, ob in einem Verzeichnis ein Flagfile vorhanden ist, und falls ja, muss ich sowohl das Flagfile und das Datenfile weiter verarbeiten.

In Sachen Perl bin leider noch blutiger Anfänger und hoffe Ihr könnt mir helfen.

Aktuell kämpfe ich noch bei dem Punkt, wie ich bei meiner Prüfung auch den Pfad ($local_dir) mit angebe, sowie wie ich mit den Wildcard die beiden Dateinamen ermitteln kann.

Wenn ich den $flag_file Namen fest angebe, und die Datei im gleichen Verzeichnis liegt, funktioniert schon mal die Prüfung.

Anbei mal meine ersten Schritte:

01.
use strict;
02.
use warnings;
03.
use Net::FTP;
04.

05.
my $ftp;
06.
my $host = "";
07.
my $user = "";
08.
my $pass = "";
09.
my $local_dir = "C:\/Users\/micree14204\/eclipse-workspace\/skriptunterstuetzung\/";
10.
my $ftp_dir = "";
11.
my $flag_file = "exp00000.flg";
12.

13.
if ( -e $flag_file) 
14.
{
15.
	print "Datei $flag_file ist vorhanden\n";
16.
}
17.
else
18.
{
19.
	print "Datei $flag_file ist nicht vorhanden\n";
20.
}
Gruß
Michél
Mitglied: psuser
LÖSUNG 23.08.2019, aktualisiert um 13:35 Uhr
01.
#!/usr/bin/perl
02.
# Verzeichnis
03.
my $local_dir = '/irgendein/verzeichnis';
04.
# Verzeichnis öffnen
05.
opendir(DIR,$local_dir);
06.
# flag files suchen und in array speichern
07.
@files = grep(/^exp\d+\.flg$/,readdir(DIR));
08.
# Verzeichnis schließen
09.
closedir(DIR);
10.
# für jedes Flagfile
11.
foreach $file (@files) {
12.
        # dateiname des flagfile in variable speichern
13.
	$flagfile = $file;
14.
        # dateiname des datafile erzeugen .flg durch .dat ersetzen
15.
 	$datafile = $file;
16.
	$datafile =~ s/\.flg$/.dat/i;
17.
	# nur als Beispiel die Daten ausgeben
18.
        print "Flagfile : " .  $local_dir . "/" . $flagfile . "\n";
19.
	print "Datafile : " $local_dir . "/" . $datafile . "\n";
20.
}
Bitte warten ..
Mitglied: BadFsaadKl
23.08.2019 um 14:05 Uhr
Vielen Herzlichen Dank psuser

Genau das was ich benötigt habe.
Jetzt kann ich weiter basteln. Werde demnächst aber bestimmt noch die ein oder andere Unterstützung brauchen .
Bitte warten ..
Ähnliche Inhalte
Perl

Perl hat heute Geburtstag: 30 Jahre Perl: Lange Gesichter zum Geburtstag

Information von Penny.CilinPerl8 Kommentare

Hallo, auch wenn es wenige wissen und noch weniger Leute es nutzen. Perl hat heute Geburtstag. 30 Jahre Perl ...

Festplatten, SSD, Raid

Speicherverbrauch ermitteln

Frage von YannoschFestplatten, SSD, Raid8 Kommentare

Hallo zusammen, habe einen 2k8R2 hier mit einer D Part von 724 GB frei sind nurnoch knapp 70 GB ...

Batch & Shell

Dateigröße ermitteln

gelöst Frage von IleiesBatch & Shell2 Kommentare

Hallo zusammen, Wie kann ich mit Batch nur die Dateien von einem Ort auf den Anderen kopieren, die kleiner ...

Router & Routing

Netzwerkbelastung ermitteln

gelöst Frage von AzubineRouter & Routing6 Kommentare

Guten Morgen, wir haben einen Kunden wo es Probleme mit der Geschwindigkeit gibt. Sobal meh wie 2 Mitarbeiter online ...

Neue Wissensbeiträge
Windows Server

Active Directory ESE Version Store Changes in Server 2019

Information von Dani vor 3 TagenWindows Server

Moin, Last month at Microsoft Ignite, many exciting new features rolling out in Server 2019 were talked about. But ...

Exchange Server

Microsoft Extending End of Support for Exchange Server 2010

Information von Dani vor 3 TagenExchange Server4 Kommentare

Moin, After investigating and analyzing the deployment state of an extensive number of Exchange customers we have decided to ...

Schulung & Training

Humble Book Bundle: Network and Security Certification 2.0

Tipp von NetzwerkDude vor 3 TagenSchulung & Training

Abend, bei HumbleBundle gibts mal wider ein schönes Paket e-books: sind verschiedene Zertifizierungen wie MCSA, CCNA, CompTIA etc., für ...

Voice over IP

Telekom Umstellung von ISDN Anlagenanschluss auf IP-Telefonie

Erfahrungsbericht von NixVerstehen vor 6 TagenVoice over IP11 Kommentare

Hallo zusammen, nachdem nun vor ein paar Tagen die zwangsweise Umstellung von ISDN auf IP-Telefonie problemlos über die Bühne ...

Heiß diskutierte Inhalte
VB for Applications
Euro-Zeichen in jedem neu erstellten Brief mit Word automatisch entfernen
gelöst Frage von imebroVB for Applications23 Kommentare

Hallo, ich habe ein Problem mit Word, bzw. mit dem €-Zeichen, welches bei Erstellung eines Word-Briefes automatisch eingesetzt wird. ...

Batch & Shell
Regedit eintrad ändern als Admin
Frage von cyberworm83Batch & Shell19 Kommentare

Hallo zusammen, ich bin derzeit als Rollout Techniker unterwegs und muss täglich bei zig Rechnern einen Registry Einträg ändern ...

Visual Studio
Prüfen, ob Programm schon disposed wurde
Frage von MarcoBornVisual Studio17 Kommentare

Hallo Forum, ich habe in VB.NET ein Programm geschrieben, welches Word startet und dort Daten ausliest. Obwohl ich die ...

Router & Routing
Mikrotik Config PTP
Frage von Marcel94Router & Routing17 Kommentare

Hallo, kennt sich jemand mit Mikrotik aus? Möchte gerne eine PTP Verbindung mit zwei SYTsq 5ac Antennen erstellen. So ...