Jak mogę wsadowo zmienić nazwę zestawu nazw plików w systemie Linux?


9

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.

Odpowiedzi:


11

Spowoduje to usunięcie pierwszego -2znalezionego w każdej nazwie pliku:

for f in pic*-2.png; do
  mv "$f" "${f/-2/}"
done

Aby to przetestować, po prostu wstaw echodo mvlinii.


9

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).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.