Results 1 to 9 of 9

Thread: Czyszczenie plików ze znaku �

  1. #1

    Default Czyszczenie plików ze znaku �

    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?

  2. #2
    Join Date
    Dec 2017
    Posts
    44
    Blog Entries
    3

    Default Re: Czyszczenie plików ze znaku �

    Code:
    :~/test$ ls
    ���.test.���  ���.test.���_  ���.test.���_abc
    :~/test$ rename 's/�/_/g' *
    :~/test$ ls
    ___.test.___  ___.test.____  ___.test.____abc
    Last edited by pbojczuk; 13-Apr-2019 at 07:19.

  3. #3

    Default Re: Czyszczenie plików ze znaku �

    A jak to wyłuskać w podkatalogach?

  4. #4
    Join Date
    Dec 2017
    Posts
    44
    Blog Entries
    3

    Default Re: Czyszczenie plików ze znaku �

    Leń :-)

    Code:
    :~/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

  5. #5

    Default Re: Czyszczenie plików ze znaku �

    Próbuję nabić 10 postów
    Tak na serio, to próbowałem zaprzęgnąć do tego
    Code:
    ls
    ale to nie był dobry pomysł.

    Działa, ale pewnie na pliki bez spacji:
    Code:
    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ć?

  6. #6
    Join Date
    Dec 2017
    Posts
    44
    Blog Entries
    3

    Default Re: Czyszczenie plików ze znaku �

    Code:
    #!/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
    Code:
    ~/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_'

  7. #7

    Default Re: Czyszczenie plików ze znaku �

    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:
    Code:
     Nie ma takiego pliku ani katalogu

  8. #8
    Join Date
    Dec 2017
    Posts
    44
    Blog Entries
    3

    Default Re: Czyszczenie plików ze znaku �

    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ć.

  9. #9

    Default Re: Czyszczenie plików ze znaku �

    Dzięki.

    Chyba będę lokalizował i zmieniał ręcznie. W sumie rzadko takie pliki się pojawiają.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •