Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

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

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

Offline #!

  • Lid
    • tuxtopia
  • Steunpunt: Nee
[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 »

Offline SeySayux

  • Lid
    • SeySayux.net
  • Steunpunt: Nee
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
  • Steunpunt: Nee
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 ;)