Nieuws:

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

Auteur Topic: [Opgelost]Scriptje  (gelezen 3815 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 ;)