Bash - Script om een deel van een filename te extracten

Pagina: 1
Acties:
  • 211 views

Acties:
  • 0 Henk 'm!

  • xirixiz
  • Registratie: Juli 2009
  • Laatst online: 15-09 19:44
Hallo,

Op dit moment probeer ik het volgende met een batch script voor elkaar te krijge...

Voorbeeld bron bestanden, in werkelijkheid duizenden:
- a_b_c_qwer_e_123.xml
- a_b_c_rewq_e_abc.xml
- a_b_c_tyui_e_cba.xml
- a_b_c_iuyt_e_321.xml
- a_b_c_qazws_e_000.xml
- a_b_c_swzaq_e_333.xml

Graag zou ik met een bash script het eerste deel van een bestandsnaam willen extracten, om dat deel vervolgens als doel locatie (directory) te gebruiken om een bestand naartoe te kopiëren.

Bijvoorbeeld "a_b_c_qwer_e_123.xml" is de filename, dan heb ik het deel “a_b_c_qwer_e” nodig. Dit is steeds na de eerste 5 woorden van de filename. Alle filenames bevatten tevens de underscores.

Nu heb ik het eea geprobeerd, maar het will niet vlotten.

Zoiets heb ik nu, maar heb niet het idee echt goed hiermee bezig te zijn:

# !/bin/bash
cd /test
mkdir klaar
for file in $(ls -1 *-*-*-*-*) # or just * if you know all the files in here are subject
do
dir=$(echo $file | cut -f4 -d'-')
destdir=klaar/$dir
mkdir -p $destdir
cp -a $file $destdir
done

Tx voor de hulp alvast!

Also known as xirixiz


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:27

Creepy

Tactical Espionage Splatterer

Ik denk dat dit meer thuis hoort in NOS. Echter ga ik je topic niet verplaatsen maar sluiten. De oplossing in dit geval is een commando genaamd "basename". Ik kan me alleen niet voorstellen dat je al hebt gezocht op bijv. google en daar niet tegen aan bent gelopen. Als je de manpage of info page van basename bekijkt dan moet je er vast uitkomen. Tip: bekijk aub de quickstart (waar je net ook op bent gewezen), dan zie je vanzelf welke info we graag willen terugzien in een topicstart.

[ Voor 16% gewijzigd door Creepy op 23-11-2009 16:31 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.