Nieuws:

Ubuntu-NL weer online!

Na een periode van technische problemen en een overbelaste server zijn we eindelijk weer bereikbaar.
Samen met Hobbynet, onze sponsor en hostingpartner, hebben we een oplossing gevonden zodat alles weer soepel draait.

Bedankt voor jullie geduld en begrip. We hopen nu weer verder te gaan waar we gebleven waren.

Het team van Ubuntu-NL

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [Opgelost]Scriptje  (gelezen 4672 keer)

Offline #!

  • Lid
    • tuxtopia
[Opgelost]Scriptje
« Gepost op: 2009/06/10, 13:13:51 »
Hoi!

Ik heb een directory, waarin files staan die een unix time stamp als naam krijgen. Deze wil ik graag renamen, en daarna e-mailen naar een adres, het e-mail gedeelte werkt, maar ik zou niet weten hoe je die rename precies doet.

de unix time stamp lees ik zo uit -> date -d@<filenaam>.wav
daar komt dan een uitkomst uit, en dit wil ik die file dan als naam geven. en hem daarna met mutt versturen per e-mail.

Probleem is, het zijn ook nog is meerdere files dus hij moet er een soort van variable van maken, die hij daarna gebruikt voor de rename + email.

Is dit mogelijk? het gaat om een .sh scriptje.
« Laatst bewerkt op: 2009/06/11, 09:47:52 door ex »

Re: Scriptje
« Reactie #1 Gepost op: 2009/06/10, 15:48:33 »
for x in `ls /mijnmap`; do
    mv $x `date -d@$x`
done
for y in `ls /mijnmap`; do
     mutt $y --of-hoe-het-ook-werkt
done
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline #!

  • Lid
    • tuxtopia
Re: Scriptje
« Reactie #2 Gepost op: 2009/06/11, 09:47:35 »
Bedankt, heb nog even verder lopen knutselen en dit is het geworden:

#!/bin/sh
# rename

#DIR=/home/map/map
BASEDIR=/home/test
RECORDSDIR=$BASEDIR/records
ARCHIVEDIR=$BASEDIR/archive

for file in `ls $RECORDSDIR`; do

if [[ -e $RECORDSDIR/$file ]]; then

timestamp=`ls -l --time-style=+%Y-%M-%d-%k%M%S $RECORDSDIR/$file |cut -d' ' -f6`
basename=`echo $file|cut -d'.' -f1`
ext=`echo $file | cut -d'.' -f2-` # cut**-d
newname=$basename.$timestamp.$ext

echo -n "timestamp: "
echo $timestamp

echo -n "filename: "
echo $file

echo -n "extension: "
echo $ext

echo -n "new name: "
echo $newname

echo "---> MOVED"

mv $RECORDSDIR/$file $RECORDSDIR/$newname

#e-mail
mutt -s "New recording " -a $RECORDSDIR/$newname e-mail@adres.nll < $BASEDIR/email.txt

#move to archive
mv $RECORDSDIR/$newname $ARCHIVEDIR

fi
done

Nu moet hij ook nog een sql database uit gaan lezen en dan ben ik helemaal klaar ;)