echo "${out%?}"
echo "${out%%??}"
#!/bin/bash
find orginalname* -type f | while read file
do
echo $file
done
#!/bin/bash
cd /path/to/work/in
find . -type f -name origfile* -print0 | xargs -0 -I % echo % | while read f
do
mv "$f" "${f:0:$((${#f}-8))}"
done
Problematisch in beiden Versionen bleiben definitiv Dateinamen <9 Zeichen.
#!/bin/bash
cd /path/to/work/in
find . -type f -name origfile* -print0 | xargs -0 -I % echo % | while read f
do
if [ ${#f} > 8 ]
then
mv "$f" "${f:0:$((${#f}-8))}"
fi
done
Wenn die Namen garantiert alle länger als 8 Zeichen sind, wäre diese Frage eh nicht mehr relevant. Insoweit sollte man hier im Vorfeld vielleicht hinterfragen, nach welchen Konventionen die Namensvergabe der betroffenen Dateien erfolgt ist.Die kann man bestimmt mit IF then ausschliesenProblematisch in beiden Versionen bleiben definitiv Dateinamen <9 Zeichen.
We use essential cookies to make this site work, and optional cookies to enhance your experience.