Muszę skopiować nazwy plików z jednego folderu do drugiego. Zawartość pliku nigdy się nie zmienia. Żadne pliki nie są zastępowane, przenoszone ani kopiowane. Chodzi tylko o plik nazwy .
Mam folder A z plikami o nazwie:
- Pokaż - S01E01 - Tytuł opisowy.mkv
- Pokaż - S01E02 - Kolejny opisowy tytuł? .Mkv
- Pokaż - S01E03 - Kolejna złożona nazwa! .Mkv
- ...
Mam folder B z plikami o nazwie:
- show.s01e01.mkv
- show.s01e02.mkv
- show.s01e03.mkv
- ...
Nie potrzebuję już plików w folderze A, ponieważ pliki w folderze B mają lepszą jakość. Ale nie chcę ręcznie zmieniać nazw wszystkich plików w folderze B, aby mieć odpowiednią nazwę pliku, w tym tytuł odcinka. Chciałbym automatycznie przenieść odpowiednie nazwy plików z plików w folderze A do plików w folderze B. Kolejność alfabetyczna jest identyczna w obu folderach. Zatem n-ty plik w folderze B odpowiada n-ty plik w folderze A. W folderze końcowym B zawierałby dokładnie takie same nazwy plików jak w folderze A, ale zawartość plików jest oczywiście inna.
Przykład:
Przed:
Folder A:
- Pokaż - S01E01 - Green Apples.mkv
- Pokaż - S01E02 - Brzoskwinie w Sky.mkv
Folder B:
- show.s01e01.mkv
- show.s01e02.mkv
Po:
Folder A:
- Pokaż - S01E01 - Green Apples.mkv
- Pokaż - S01E02 - Brzoskwinie w Sky.mkv
Folder B:
- Pokaż - S01E01 - Green Apples.mkv
- Pokaż - S01E02 - Brzoskwinie w Sky.mkv
Jak to zrobić w Bash? (Lub jakiekolwiek inne narzędzie GNU / Linux, KDE OK też)
źródło
Odpowiedzi:
Wykonanie tego, co chcesz, wymaga pewnych skryptów. Niezbyt zaangażowany, ale trochę wymyśla koło.
To, co sugerowałbym, to instalacja
tvnamer
https://github.com/dbr/tvnamerDzięki temu baza danych będzie konsekwentnie zmieniać nazwy wszystkich Twoich mediów. Jeśli uruchomisz to wszystko, to zarówno programy o niskiej, jak i wysokiej jakości będą miały tę samą nazwę, więc możesz po prostu skopiować te wysokiej jakości nad tymi o niskiej jakości, używając
cp
.źródło
Możesz wypróbować tablice bash. Poniżej przedstawiam rozwiązanie szkieletowe.
Jak już wspomniałeś w pytaniu, założeniem jest, że dokładna liczba plików jest w obu katalogach i alfabetycznie są one w porządku. Więcej sprawdzania błędów i może to być dopasowanie wzorców, aby było ono solidne.
list1 to tablica z nazwami plików w tym katalogu. $ {list1 [0]} jest pierwszym elementem w tablicy itp. Nie jestem pewien, czy będzie to działać z nazwami plików z białymi znakami itp.
źródło