1

Temat: Usunięcie polskich ogonków z nazw plików

Witam,

Pytanie jak w temacie. Postawiłem droopy oraz napisałem skrypt, który synchronizuje dane wrzucone na niego z ftp. Problem polega na tym, że przez droopy'ego są czasami wrzucane pliki ze spacjami w nazwie (z czym sobie poradziłem) i polskimi znakami. Jak pozbyć się polskich ogonków? Próbowałem sedem, tr (tr "ĘęÓ󥹌śŁłŻżŹźĆćŃń" "EeOoAaSsLlZzZzCcNn") , iconv (nie znajduje go, mimo zainstalowania libiconv-full i libiconv) bez powodzeń. Jakieś pomysły ?

2

Odp: Usunięcie polskich ogonków z nazw plików

tr/sed itd mogą nie łapać liter w utf-8 (w sensie wielobajtowych). iconv nie występuje (musisz sobie skompilować) a to co wymieniłeś to tylko biblioteki dla innych programów.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Usunięcie polskich ogonków z nazw plików

Odpowiem sobie więc sam smile

Wystarczyło do skryptu dodać cd $katalog. Nie mam pojęcia dlaczego działa, ale działa. PS - "grep ?" pokazuje wszystkie pliki z ogonkami. Ls chyba dalej nie radzi sobie z polskimi czcionkami, stąd obejście.

W razie gdyby ktoś, kiedyś (przy okazji w nazwach zamienia " " na "_" i pokazuje w logach że usunął ęął itd.):

#!/bin/sh

katalog=/mnt/hdd/samba/uploads

cd $katalog

for i in $katalog/* ; do mv "$i" "${i//\ /_}" ; done

for i in `ls $katalog | grep ? `
do
mv $i `echo "$i" | sed 's/ą/a/; s/ó/o/; s/ł/l/; s/ć/c/; s/ę/e/; s/ś/s/; s/ż/z/; s/ź/z/; s/ń/n/; s/Ą/A/; s/Ó/O/; s/Ł/L/; s/Ć/C/; s/Ę/E/; s/Ś/S/; s/Ż/Z/; s/Ź/Z/; s/Ń/N/'`
logger "W katalogu "$katalog" zmieniono nazwe pliku z "$i" na "`echo "$i" | sed 's/ą/a/; s/ó/o/; s/ł/l/; s/ć/c/; s/ę/e/; s/ś/s/; s/ż/z/; s/ź/z/; s/ń/n/; s/Ą/A/; s/Ó/O/; s/Ł/L/; s/Ć/C/; s/Ę/E/; s/Ś/S/; s/Ż/Z/; s/Ź/Z/; s/Ń/N/'`" "
done