Bash Pagina 81

De la Wiki Linux Advanced
Versiunea din 27 octombrie 2024 15:53, autor: Admin (discuție | contribuții) (→‎Exercițiul 1 - Schimbarea extensiei fișierelor)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)
Sari la navigare Sari la căutare

Exercițiul 1 - Schimbarea extensiei fișierelor

Scenariu

Creați un script ce schimbă extensia veche a fișierelor dintr-un folder cu o nouă extensie specificată ca argument:

./move.sh oldext newext

Scriptul

#!/bin/bash
# Verificăm numărul de argumente
if [ "$#" -ne 2 ]; then
   echo "Usage: $0 oldext newext"
   exit 1
fi
oldext="$1"
newext="$2"
# Schimbăm extensia pentru fiecare fișier cu extensia veche
for file in *."$oldext"; do
   # Verificăm dacă există fișiere cu extensia veche
   if [ -e "$file" ]; then
       mv -- "$file" "${file%.$oldext}.$newext"
       echo "Am redenumit $file în ${file%.$oldext}.$newext"
   else
       echo "Nu am găsit fișiere cu extensia $oldext."
   fi
done

Explicație

  • Verificarea argumentelor:

Scriptul verifică dacă numărul de argumente este exact 2. Dacă nu, afișează un mesaj de utilizare și iese.

  • Iterația fișierelor:

Folosește o buclă for pentru a itera prin toate fișierele care au extensia specificată.

  • Verifică dacă fișierul există cu -e.
  • Schimbarea extensiei:

Folosește comanda mv pentru a redenumi fișierul, eliminând extensia veche și adăugând noua extensie.

  • Feedback pentru utilizator:

Afișează un mesaj care confirmă redenumirea fiecărui fișier sau un mesaj de eroare dacă nu există fișiere cu extensia veche.

Concluzie

Acest script este util pentru gestionarea rapidă a fișierelor dintr-un director, permițând schimbarea extensiilor fără a modifica conținutul fișierelor.


Pagina anterioară | Următoarea pagină