borzole Napisano Sierpień 15, 2009 Zgłoszenie Share Napisano Sierpień 15, 2009 Już miałem kiedyś ten problem, ale nie pamiętam żebym znalazł rozwiązanie. Po masowej zmianie nazw plików zostało mi sporo "dziwactw". Ewidentnie coś skopałem w skrypcie . Do rzeczy: Pliki mają w nautilusie nazwy w dwóch/trzech linijkach. Nie dlatego, że są długie tylko w nazwie zawieruszył się jakiś symbol łamiący linię. Nie widać go w nautilusie, a w konsoli np. polecenie ls wyświetla miejsce złamania jako "?" i tyle. Mogę to ręcznie dłubać i zmieniać nazwę, ale tych plików jest dużo. Chciałem to zmienić skryptem, ale nie wiem jak się odwołać do znaku, który nie wiadomo czym jest? tzn: mv abc?xyz abcxyz ponadto w nazwach plików nie występuje żaden schemat, więc nie mogę uznać że to jest czwarty znak, albo na końcu drugiego wyrazu. Normalnie zonk. zakładając że można użyć ASCII http://www.cyberciti.biz/faq/unix-linux-se...s-nonprintable/ jak przetworzyć nazwę pliku na kod ascii? albo jak inaczej zgadnąć kod tego dziwnego znaku? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
exbros Napisano Sierpień 15, 2009 Zgłoszenie Share Napisano Sierpień 15, 2009 Cos mi sie widzi, ze sie przy pisaniu skryptu gdzies machnales i podmienilo Ci czesc znakow w nazwach na '\n' ? ... albo jakikolwiek inny ASCII symbol z seri non-printable przy okazji powodujacy przejscie do nowej linii... A jak by tak (zgodnie z porada do ktorej linka podales) potraktowac nazwy sedem i zamienic znaki 0-31 na cokolwiek a zakresu printable? Zaskakujaco duzo informacji o NewLine tutaj ... Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
borzole Napisano Sierpień 17, 2009 Autor Zgłoszenie Share Napisano Sierpień 17, 2009 oki, udało się zrobiłem skrypcik do tego, właściwie trochę się rozpędziłem i mam bardzo uniwersalny skrypt do masowej zmiany nazw plików: http://files.getdropbox.com/u/409786/pub/bin/rename-convert ale mam pytanie poza konkursem, w skrypcie chciałbym łączyć parametr tzn: cmd="tekst1" cmd+="tekst2" cmd+="tekst3" problem w tym, że chciałbym łączyć strumienie tzn. cmd="polecenie1" cmd+="|polecenie2" cmd+="|polecenie2" ... i tego za nic nie mogę osiągnąć, bo znak "|" jest traktowany jako tekst i parametr poprzedniego polecenia. Mógłbym wówczas elastycznie łączyć strumienie i sposób przetwarzania nazw. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się