Ik ben voor het gemak een scriptje aan het schrijven om grootte aantallen filenamen in een keer aan te passen. Onderstaand voldoet al aardig, ik ben nog geen problemen tegen gekomen bij het hernoemen. Eing probleem is dat het script alleen werkt op files die in de directory staan waar ook het script zich bevindt. en ik wil graag het script in het $PATH zetten (bv /bin) zodat ik het vanuit elke directory kan aan roepen en ook kan gebruiken.
Het is vast iets simpels maar ik weet niet (meer) hoe?
Het is vast iets simpels maar ik weet niet (meer) hoe?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| #!/bin/sh
echo 'Geef de zoekstring in de filenaam die gewijzigd moet worden:'
read STRING
echo 'Geef de tekst waarin de zoekstring gewijzigd moet worden:'
read SUBSTITUTE
IFS=$'\n'
for INFILE in $(ls -1 *$STRING*)
do
OLD=`basename "${INFILE}"`
NEW=`echo $OLD | sed s/$STRING/$SUBSTITUTE/`
echo "$INFILE" zal worden hernoemd naar "$NEW"
done
echo 'Is dit wat u wilt? (j/n)'
read OK
case "$OK" in
j*)
IFS=$'\n'
for INFILE in $(ls -1 *$STRING*)
do
OLD=`basename "${INFILE}"`
NEW=`echo $OLD | sed s/$STRING/$SUBSTITUTE/`
mv "$INFILE" "$NEW"
echo "$INFILE" hernoemd naar "$NEW"
done
;;
*)
echo 'bewerking afgebroken'
;;
esac |
[ Voor 3% gewijzigd door blaataaps op 01-08-2010 14:37 . Reden: i.p.v. table-tags, de handige code-tag voor o.a. monospacing ]