Znalazłem wiele metod dodawania prostego prefiksu do plików w folderze w systemie Linux, np.
for FILENAME in *; do mv $FILENAME REF_$FILENAME; done
( https://stackoverflow.com/questions/4787413/rename-files-and-directories-add-prefix )
Chciałbym to zrobić, ale z REF zmieniającym się dla każdego pliku REFa, REFb, REFc, ... Zostanie to uruchomione ręcznie w jednym katalogu, ponieważ REF będzie różny dla każdego z nich.
Z góry dziękuję, ponieważ zwycięzca dosłownie zaoszczędzi mi godzin ręcznego wprowadzania danych ;-)
Odpowiedzi:
Szybka i brudna odpowiedź byłaby następująca:
Ale wolałbym to zrobić jako skrypt, który można następnie uruchomić - jest łatwiejszy do utrzymania i opisania
Pierwsza linia ładuje sekwencję 3-cyfrowych liter, rozpoczynając aaa i przechodząc do zzz. Możesz zmniejszyć lub zwiększyć rozmiar tej tablicy, zwiększając lub zmniejszając liczbę {a..z} - i możesz ją zastąpić wielkimi literami lub inną prostą sekwencją.
i jest licznikiem, który zwiększamy, abyśmy mogli uzyskać unikalną sekwencję dla każdej wartości REF.
Zaznaczam, że nie podoba mi się bit kodu „FILENAME in *”, ponieważ nie będzie on dobrze pasował do podkatalogów. Byłbym skłonny zastąpić tę linię
do obsługi plików, w tym podkatalogów, lub
dla plików tylko w bieżącym katalogu (tj. nie rekurencyjne i ignorowanie katalogów)
źródło
Możesz zbudować polecenie dostosowane do tego konkretnego problemu, jestem pewien, że inne odpowiedzi to zrobią. Moja odpowiedź brzmi: bardziej ogólne , może jednak ci pasuje.
vidir
(najprawdopodobniej zmoreutils
pakiet) pozwala edytować nazwy plików w edytorze tekstu. Aby wybrać edytor, ustawEDITOR
zmienna.W ten sposób możesz korzystać z wielu funkcji
vi
,emacs
lub dowolnego edytora, którego używasz. Czytaćman vidir
aby dowiedzieć się, jak sprawić, by działał z podkatalogami, jeśli zajdzie taka potrzeba.To jest przykład tego, jak wyglądałby w twoim edytorze:
Liczby identyfikują pliki w tym konkretnym wystąpieniu
vidir
, następują po nich karty. Nie możesz dotykać tych numerów i kart, chyba że wiesz, co robisz. Zmiany w nazwach plików są stosowane po zapisaniu tekstu.Jeśli obawiasz się, że gdzieś znajduje się nazwa pliku z kartą lub znakiem nowego wiersza, a to coś złamie, zachowaj spokój. Z tego co wiem
vidir
w pierwszej kolejności odmówi współpracy.Teraz najlepsza część. Edytor może również działać poza konsolą, więc możliwe jest:
EDITOR=kate vidir
, to się uruchomikate
redaktor.kate
i zastąp stary tekst.To jest bardzo potężne. Usunięcie linii i zapisanie pliku tekstowego spowoduje usunięcie plików. Zamiana liczb sprawi, że pliki zostaną zamienione nazwami (a nawet ścieżkami, jeśli pracujesz z podkatalogami). Z dużą mocą przychodzi duża odpowiedzialność. Najpierw powinieneś eksperymentować z plikami i katalogami, które można stracić.
źródło