Mam folder z obrazami o nazwie:
pic001-2.png
pic002-2.png
pic003-2.png
Jak zmienić ich nazwy na następujące?
pic001.png
pic002.png
pic003.png
Próbowałem, mv "pic*-2.png" "pic*.png"
ale wciąż pojawiają się błędy.
Spowoduje to usunięcie pierwszego -2
znalezionego w każdej nazwie pliku:
for f in pic*-2.png; do
mv "$f" "${f/-2/}"
done
Aby to przetestować, po prostu wstaw echo
do mv
linii.
Potrzebujesz odpowiednio nazwanej komendy „zmień nazwę”!
Wypróbuj coś takiego:
rename 's/(pic\d+)-\d\.jpg/$1.jpg/' pic*.jpg
Jako pierwszy argument przyjmuje wyrażenie regularne perla, więc opcje dopasowywania wzorców i opcje manipulacji są dość obszerne. Aby uzyskać szczegółowe informacje, zobacz stronę podręcznika zmiany nazwy (1).