Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Nummerierte Dateien suchen und dazu Symlinks (.jpg) erstellen.

Frage Linux

Mitglied: Kinkerlitzchen

Kinkerlitzchen (Level 1) - Jetzt verbinden

16.01.2014, aktualisiert 23:17 Uhr, 1572 Aufrufe, 2 Kommentare

Achtung! Amateur sucht Hilfe..

Ich möchte per bash mit jpg-symlinks von allen .dat Dateien auf eine zugehörige .jpg datei im Ordner verweisen, damit zu jeder Datei das ein zugehörige Bild angezeigt wird.

Ziel ist, zu jeder .dat einen gleichnamigen symlink .jpg zu erzeugen, der auf die .jpg ohne Nummerierung verweist. Ich möchte also einen Ordner nach gleichnamigen Dateien, die sich nur durch Nummerierung unterscheiden, durchsuchen. Zu diesen will ich dann gleichnamige symlinks erzeugen.

Szenario: Alle Dateien sind in einem Ordner

List1.jpg
List1-001.dat
List1-002.dat
List1-003.dat
List1-004.dat
List1-004.dat
List1-004.dat

List2.jpg
List2-001.dat
List2-002.dat
List2-003.dat
List2-004.dat

Ziel:

List1.jpg
List1-001.dat
List1-001.jpg (symlink)
List1-002.dat
List1-002.jpg (symlink)
List1-003.dat
List1-003.jpg (symlink)
List1-004.dat
List1-004.jpg (symlink)
List1-005.dat
List1-005.jpg (symlink)

List2.jpg
List2-001.dat
List2-001.jpg (symlink)
List2-002.dat
List2-002.jpg (symlink)
List2-003.dat
List2-003.jpg (symlink)
List2-004.dat
List2-004.jpg (symlink)

Bisher mache ich das ganz dumpf, indem ich einfach per bash eine Folge symlinks erstelle.

ln -s "$path/$file.jpg" "$path/$file-001.jpg"
ln -s "$path/$file.jpg" "$path/$file-002.jpg"
ln -s "$path/$file.jpg" "$path/$file-003.jpg"
ln -s "$path/$file.jpg" "$path/$file-004.jpg"
...

Das ist natürlich Schrott. Je nach Anzahl der Dateien erzeuge ich unnötig viele oder zu wenige symlinks. Davon abgesehen entsteht ein langes Script, obwohl es nicht viel tut..

Allerdings weiß ich nicht, wie man nach einem variablen Filename sucht..

Könnt ihr mir sagen, was ich tun muss?
Mitglied: colinardo
17.01.2014, aktualisiert um 10:01 Uhr
Hallo Kinkerlitzchen,
könntest du mit einer FOR-Schleife machen die alle *.dat-Files mit entsprechender Formatierung durchläuft:
01.
#!/bin/bash 
02.
path="/dein/pfad" 
03.
for x in `ls -1 $path/List*-???.dat`;do  
04.
	image=${x%-*}.jpg 
05.
	ln -sf "$image" "${x%.*}.jpg" 
06.
done
Wie Bash-Stringmanipulationen funktionieren kannst du hier nachlesen. Und wie man mit ls und WildCards Dateien auflistet hier.

Grüße Uwe
Bitte warten ..
Mitglied: Kinkerlitzchen
17.01.2014 um 19:22 Uhr
Danke dir! Auch für die Links
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst XML-Datei: Pfade suchen, verlinkte Dateien kopieren und Pfade ändern (4)

Frage von ELEVATOR zum Thema Batch & Shell ...

Microsoft Office
XLSM Dateien ausschließlich von sicherem Speicherort genehmigen

Frage von ChrisIO zum Thema Microsoft Office ...

Windows Server
gelöst NTFS-Volume - Summe aller Dateien ist deutlich geringer als Volumegrösse (4)

Frage von Augenadler zum Thema Windows Server ...

VB for Applications
Excel Makro zum Suchen von Spalten und exportieren in CSV (3)

Frage von Raptox zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Linux
gelöst Boot failed: not a bootable disk (10)

Frage von Fleckmen zum Thema Linux ...

Multimedia & Zubehör
gelöst Iphone 6 prob (8)

Frage von jensgebken zum Thema Multimedia & Zubehör ...

Windows Installation
Eine etwas (wirklich) speziellere Frage: Windows 10-Installation über (8)

Frage von DerFurrer zum Thema Windows Installation ...

Windows Server
Probleme mit Client Software Zugriff auf Windows Server 2012 (8)

Frage von it-kolli zum Thema Windows Server ...