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

Teil eines Dateinnamen als Variable festlegen

Frage Entwicklung Batch & Shell

Mitglied: traller

traller (Level 1) - Jetzt verbinden

09.10.2014, aktualisiert 23:31 Uhr, 753 Aufrufe, 3 Kommentare

In einem Ordner kommen folgende Dateinamen vor:
01.
ffff_0101.ab 
02.
bbb_0101.ab
wie kann ich mir den Teil "0101" als Variable in einem Script festlegen.
Das müsste ja irgendwas sein mit
01.
variable=$(grep irgendwas??)
Mitglied: colinardo
LÖSUNG 09.10.2014, aktualisiert um 23:31 Uhr
01.
filename="ffff_0101.ab" 
02.
nummer=$(echo $filename | awk -F '[_\.]' '{print $2}')
oder
01.
filename="bbb_0101.ab" 
02.
nummer=${filename##*_} 
03.
nummer=${nummer%.ab} 
04.
echo $nummer
usw.

http://tldp.org/LDP/abs/html/string-manipulation.html

Grüße Uwe
Bitte warten ..
Mitglied: Arano
LÖSUNG 09.10.2014, aktualisiert um 23:31 Uhr
Hi,

habs noch fix zusammen getippt bevor der Tag zu Ende ist
Edit: war wohl doch zu langsam *g*

01.
arano:~/test$ ls -l ./ 
02.
insgesamt 0 
03.
-rw-r--r-- 1 arano arano 0 Okt  9 23:16 eee_1001.ab 
04.
-rw-r--r-- 1 arano arano 0 Okt  9 23:16 fff_0101.ab 
05.
arano:~/test$ for f in `ls ./`; do n=`basename $f ".ab" | cut -d"_" -f2`; echo "---\$n="$n; done 
06.
---$n=1001 
07.
---$n=0101 
08.
arano:~/test$ 

Viel Spaß damit
~Arano
Bitte warten ..
Mitglied: traller
09.10.2014, aktualisiert um 23:32 Uhr
Zitat von colinardo:

01.
> filename="ffff_0101.ab" 
02.
> nummer=$(echo $filename | awk -F '[_\.]' '{print $2}') 
03.
> 
das klappt bei mir nicht so ganz, da ist irgendwo noch ein Fehler drinnen ... das muss wohl noch weiter verschachtelt werden.
01.
#!/bin/bash 
02.
database="DATENBANK" 
03.
filename=$(find $database*) 
04.
datum=$(echo $filename | awk -F '[_\.]' '{print $2}') 
05.
echo $datum
Vorgegeben ist manuell die "DATENBANK". Nun soll er mir mit find den Dateinahmen auswerfen, da steht dann
01.
DATENBANK_0101.ab
und von dieser Ausage soll es gekürzt werden


EDIT: Fehler gefunden, es fehlte ein *. hab es oben korrigiert.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Outlook & Mail
gelöst Ordneransicht Outlook 2013 per GPO festlegen (1)

Frage von slansky zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (15)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (13)

Frage von thomasreischer zum Thema Hardware ...

Viren und Trojaner
Wie werde ich den Mist "fanli90" wieder los? (13)

Frage von Taumel zum Thema Viren und Trojaner ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...