Könnten Sie eine Möglichkeit vorschlagen, eine Dateiliste von einem Verzeichnis in ein anderes zu kopieren?
Beim Kopieren sollte das Skript den ersten Buchstaben des Dateinamens groß und alle weiteren Buchstaben klein schreiben.
Antwort1
Zur Überlegung:
for i in *;
do
fletter=`echo $i| cut -b 1`; # FIRST LETTER
rest=`echo $i | cut -b 2-`; # THE REST
fletter=`echo $fletter | tr "[a-z]" "[A-Z]"`;# CAPITILIZE FIRST LETTER
rest=`echo $rest | tr "[A-Z]" "[a-z]"`; # LOWER CASE THE REST
cp "$i" "/target/directory/$fletter$rest" ; # COPY TO DESTINATION
done
Hier *
wird auf die Dateien im aktuellen Verzeichnis erweitert. Wenn Sie dies einschränken möchten aufDateienBeachten Sie nur Folgendes:
find . -type f -print0 | while IFS= read -r -d '' i; do
# rest of the script
done