https://serverfault.com/questions/70939/how-to-replace-a-text-string-in-multiple-files-in-linux
https://serverfault.com/questions/228733/how-to-rename-multiple-files-by-replacing-word-in-file-name
https://serverfault.com/questions/212153/replace-string-in-files-with-certain-file-extension
https://serverfault.com/questions/33158/searching-a-number-of-files-for-a-string-in-linux
Wszystkie wymienione artykuły odpowiedziały na moje pytanie. Jednak żaden z nich nie działa dla mnie. Podejrzewam, że dzieje się tak, ponieważ ciąg, który próbuję zastąpić, zawiera #. Czy istnieje specjalny sposób rozwiązania tego problemu?
Mam plik obrazu, który został zastąpiony przez é # U00a9 podczas migracji witryny. Wyglądają tak:
Lucky-#U00a9NBC-80x60.jpg
Lucky-#U00a9NBC-125x125.jpg
Lucky-#U00a9NBC-150x150.jpg
Lucky-#U00a9NBC-250x250.jpg
Lucky-#U00a9NBC-282x232.jpg
Lucky-#U00a9NBC-300x150.jpg
Lucky-#U00a9NBC-300x200.jpg
Lucky-#U00a9NBC-300x250.jpg
Lucky-#U00a9NBC-360x240.jpg
Lucky-#U00a9NBC-400x250.jpg
Lucky-#U00a9NBC-430x270.jpg
Lucky-#U00a9NBC-480x240.jpg
Lucky-#U00a9NBC-600x240.jpg
Lucky-#U00a9NBC-600x250.jpg
Lucky-#U00a9NBC.jpg
i chcę to zmienić na coś takiego:
Lucky-safeNBC-80x60.jpg
Lucky-safeNBC-125x125.jpg
Lucky-safeNBC-150x150.jpg
Lucky-safeNBC-250x250.jpg
Lucky-safeNBC-282x232.jpg
Lucky-safeNBC-300x150.jpg
Lucky-safeNBC-300x200.jpg
Lucky-safeNBC-300x250.jpg
Lucky-safeNBC-360x240.jpg
Lucky-safeNBC-400x250.jpg
Lucky-safeNBC-430x270.jpg
Lucky-safeNBC-480x240.jpg
Lucky-safeNBC-600x240.jpg
Lucky-safeNBC-600x250.jpg
Lucky-safeNBC.jpg
AKTUALIZACJA:
Wszystkie te przykłady zaczynają się od „LU00a9ucky, ale tutaj jest wiele obrazów o różnych nazwach. Po prostu celuję w część„ # U00a9 ”ciągu znaków, aby zastąpić ją„ bezpieczną ”.
rename -n 's/#U00a9/safe/' *.jpg
i polecenie zostało zaakceptowane, ale nie nastąpiły żadne zmiany.
-n
jest to no act
opcja. Co pozwala zobaczyć, czy to działa, zanim faktycznie go użyjesz. Czy dane wyjściowe na ekranie poprawnie wyświetlały potencjalne nowe nazwy?
rename
polecenia. Podejrzewam, że twoja zmiana nazwy byłaby tak prosta jakrename -n 's/#/safeNBC/' *.jpg
.