Jak mam skopiować (styl archiwizacji, w którym data nie jest zmieniana) wszystkie pliki z katalogu kopii zapasowej do katalogu użytkownika podczas zmiany nazwy każdego pliku, aby usunąć losową część ciągu z nazwy (tj. -2b0fd460_1426b77b1ee_-7b8e)?
cp z:
/backup/path/data/Erp.2014.02.16_16.57.03-2b0fd460_1426b77b1ee_-7b8e.etf
do:
/home/user/data/Erp.2014.02.16_16.57.03.etf
Każdy plik zawsze zaczyna się od „Erp”. po którym następuje ciąg znacznika daty i godziny, po którym następuje ciąg losowy, a następnie rozszerzenie „.etf”. Chcę zachować wszystkie elementy nazwy, w tym znacznik daty i godziny. Chcę tylko usunąć losowy ciąg.
Losowy ciąg umożliwia wielokrotne tworzenie kopii zapasowych tego samego pliku. Jednak w tym przypadku właśnie uruchomiłem fdupes i nie ma duplikatów. Więc mogę po prostu przywrócić wszystkie pliki, usuwając losowy ciąg.
Szukam komendy bash w jednym wierszu, aby to zrobić.
Jeśli to nie zadziała, mógłbym to zrobić w dwóch lub więcej krokach. Zwykle używam KRename, ale w tym przypadku muszę to zrobić w bash. (Pracuję zdalnie.)
pax
. To wygląda na bardzo przydatne narzędzie. Zastanawiam się, dlaczego nie jest standardem w większej liczbie dystrybucji ...