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 ]