View Full Version : Czyszczenie plików ze znaku �
rilicek
13-Apr-2019, 05:53
Jak sprawnie usunąć znak "�" w nazwach plików?
Na moim domowym serwerku jest parę takich plików.
Macie może pomysł jak za pomocą jednego skryptu/programu odszukać pliki z "�" a potem wykasować w nich ten znak?
pbojczuk
13-Apr-2019, 07:16
:~/test$ ls
���.test.��� ���.test.���_ ���.test.���_abc
:~/test$ rename 's/�/_/g' *
:~/test$ ls
___.test.___ ___.test.____ ___.test.____abc
rilicek
13-Apr-2019, 16:44
A jak to wyłuskać w podkatalogach?
pbojczuk
14-Apr-2019, 02:07
Leń :-)
:~/test$ ls
���.test_123 ���.test_456 ���.test_789 ���.test.��� ���.test���.test
:~/test$ cd
:~$ find ./ -maxdepth 2 -name "*�*" -print
./test/���.test.���
./test/���.test_456
./test/���.test_789
./test/���.test_123
./test/���.test���.test
:~$ find ./ -maxdepth 2 -name "*�*" -exec rename 's/�/_/g' {} \;
:~$ ls ./test/
___.test.___ ___.test_123 ___.test_456 ___.test_789 ___.test___.test
rilicek
14-Apr-2019, 12:36
Próbuję nabić 10 postów ;)
Tak na serio, to próbowałem zaprzęgnąć do tego
ls ale to nie był dobry pomysł.
Działa, ale pewnie na pliki bez spacji:
find ./ -maxdepth 25 -name "*�*" -exec rename 's/�/_/g' {} \;
rename: za mało argumentów
Składnia:
rename [opcje] <wyrażenie> <zamiennik> <plik>...
Zmiana nazw plików.
Opcje:
-v, --verbose opisywanie wykonywanych czynności
-s, --symlink działanie na celu dowiązań symbolicznych
-h, --help wyświetlenie tego opisu i zakończenie
-V, --version wypisanie informacji o wersji i zakończenie
Więcej informacji w rename(1).
Jak sobie z tym poradzić?
pbojczuk
15-Apr-2019, 12:45
#!/bin/sh
find ./ -maxdepth 2 -name "*�*" -print | while read -r i; do
mv -v "$i" $(echo $i | sed -e 's/\ /_/g' -e 's/�/_/g')
done
~/test> ls
replace.sh test� test test� test�test�
:~/test> ./replace.sh
renamed './test test�' -> './test_test_'
renamed './test�' -> './test_'
renamed './test�test�' -> './test_test_'
rilicek
15-Apr-2019, 13:10
Jest coraz bliżej. Już widzę światełko w tunelu.
Jest jeszcze tylko problem z katalogami ze spacją.
Skrypt zamienia "spację" w nazwach katalogów na "_" i kończy się to:
Nie ma takiego pliku ani katalogu
pbojczuk
21-Apr-2019, 06:23
Thunar: wsadowe zmienianie nazw
Chyba będzie Ci najłatwiej zobaczyć, jakie masz faktycznie nazwy katalogów i plików, a potem ustalić do jakich wartości będziesz chcial je zmeinić.
rilicek
22-Apr-2019, 14:21
Dzięki.
Chyba będę lokalizował i zmieniał ręcznie. W sumie rzadko takie pliki się pojawiają.