Zamiana małych liter na duże w nazwach plików w całym katalogu

0

Witam! Głowię się będąc zielonym z systemem linux z zagadnieniem podanym w temacie. Proszę o pomoc, nie mam pojęcia jak to sformułować poleceniem

1

Taka mała podpowiedź - zobacz sobie w shellu wynik działania czegoś takiego:

echo "ala ma kota" | tr "abcdef" "ABCDEF"
0

Czyli mam się tą komendą posłużyć? Dalej nie wychodzi mi zastosowanie tego do plików w katalogu.

1

A w ogóle w czym masz to zrobić? W shellu? Skryptem jakimś jednolinijkowym czy może być skrypt w pliku?

Podpowiedź numer 2:

find . -type f

1

Można np tak:

cd "/ścieżka/do/katalogu"

for i in *
do
 k1="$(echo $i | sed -r 's/(.)(.*)/\1/' | tr '[a-z]' '[A-Z]')"
 k2="$(echo $i | sed -r 's/(.)(.*)/\2/')"
 mv ./"$i" ./"$k1""$k2"
done
1

Inny sposób żeby zamienić pierwszą literę na dużą:

cd "/ścieżka/do/katalogu"
rename 's/\b(\w)/\U$1/' *

Żeby zamienić wszystkie litery na duże:

cd "/ścieżka/do/katalogu"
rename 'y/a-z/A-Z/' *

1 użytkowników online, w tym zalogowanych: 0, gości: 1