PDA

View Full Version : rename di files multipli


bort_83
06-12-2004, 09:36
Ho una dir con dentro 600 files che cominciano tutti per BAD-nomefile

vorrei rinominarli tutti in "nomefile" ... in poche parole togliere il "prefisso " BAD-

qualcuno mi può aiutare ?

ho porvato a guardare "man rename " ma nn ci ho capito molto...


HELP !

ilsensine
06-12-2004, 09:47
Usa uno script tipo questo:

#!bin/bash
if [ "$1" == "" ]; then
echo "$0" directory
exit 1
fi

ls -1 "$1" > /dev/null || exit 1

(ls -1 "$1"; echo) | while read fname
do
case "$fname" in
BAD-*)
mv "$fname" `echo "$fname"|sed s/BAD-//`
esac
done;

bort_83
06-12-2004, 09:56
:(

./rinomina: line 9: syntax error near unexpected token `echo)'
./rinomina: line 9: `ls -1 "$1"; echo) | while read fname'


devo togliere la ) dopo echo ?

ilsensine
06-12-2004, 10:28
Boh a me funziona...
Togli "; echo" tanto è superfluo. In effetti lo script può essere ottimizzato in vari modi.

ilsensine
06-12-2004, 10:31
Originariamente inviato da bort_83
./rinomina: line 9: `ls -1 "$1"; echo) | while read fname'

Quella riga deve iniziare con (, ecco l'errore.

Puoi scriverla più semplicemente
ls -1 "$1" | while read fname
senza parentesi né echo.

bort_83
06-12-2004, 10:36
mittico!


#!/bin/bash
if [ "$1" == "" ]; then
echo "$0" directory
exit 1
fi

ls -1 "$1" > /dev/null || exit 1

ls -1 "$1" | while read fname
do
case "$fname" in
BAD-*)
mv "$fname" `echo "$fname"|sed s/BAD-//`
esac
done;


ora tutto ok :)