Witam wszystkich i od razu w pierwszym poscie prosze o pomoc w edycji skryptu bash.
Jako ze moj stary telewizor Samsung aby poprawnie wyswietlac polskie znaki w napisach srt musi miec ich kodowanie jako utf-8 BOM wywoluje dla kazdego napisu pl.srt w katalogu Movies i Series za pomoca crona skrypt
addbom znaleziony w sieci o zawartosci:
problemem jest to ze skrypt za kazdym razem zmienia pliki pl.srt nawet gdy juz sa one zakodowane jako utf-8 BOM.
Czy mozna jakos dopisac do skryptu warunek zeby sprawdzal kodowanie pliku i nie zmienial go jesli nie potrzeba.
Chyba mozna to zrobic uzywajac
Niestety przerasta to moje umiejetnosci dlatego prosze o jakas pomoc
Jako ze moj stary telewizor Samsung aby poprawnie wyswietlac polskie znaki w napisach srt musi miec ich kodowanie jako utf-8 BOM wywoluje dla kazdego napisu pl.srt w katalogu Movies i Series za pomoca crona skrypt
Kod:
#!/bin/bash
for file in /share/CACHEDEV1_DATA/Download/Movies/*/*.pl.srt
do
/share/CACHEDEV1_DATA/.qpkg/Entware/bin/addbom "$file"
done
Kod:
#!/bin/sh
F="$1"
if [ ! -e "$F" ]; then
echo "Error: no file: $F"
exit 1;
fi
(echo -ne '\xEF\xBB\xBF' && iconv -t utf-16 | iconv -f utf-16 -t utf-8) <"$F" >__bomtemp && mv __bomtemp "$F"
problemem jest to ze skrypt za kazdym razem zmienia pliki pl.srt nawet gdy juz sa one zakodowane jako utf-8 BOM.
Czy mozna jakos dopisac do skryptu warunek zeby sprawdzal kodowanie pliku i nie zmienial go jesli nie potrzeba.
Chyba mozna to zrobic uzywajac
Kod:
$ has_bom() { head -c3 "$1" | grep -q $'\xef\xbb\xbf'; }
$ has_bom file && echo yes
yes