Tuli väkerrettyä arvailuun pieni apuri.
Saa vapaasti muokata, syödä, myydä, ostaa, tuhota, vaihtaa, jne: siis tuon alla olevan koodin.
Värkki katselee kulloisenkin hakemiston teksti-muotoiset (-T) -tiedostot merkki kerraltaan läpi.
Ja listaa "virheelliset" tiedostot lopuksi.
#!/usr/bin/perl
# IsUTF :: Simple Unicode check [isutf] 170706:raimo ihan ite ;)
# use test files below to test this program, look *1
#
#---- INSTALL:
# wget http://dash.atspace.org/kvaak/isutf.txt
# sudo cp isutf.txt /usr/bin/isutf
# sudo chmod 755 /usr/bin/isutf
#
#---- RUN:
# cd /some/dir
# isutf
#
#---- TEST files *1:
# OK test: wget http://www.w3.org/2001/06/utf-8-test/UTF-8-demo.html
# fail test: wget http://www.w3.org/2001/06/utf-8-wrong/UTF-8-test.html
use strict;
my ($chr, @fails);
exit print "Unicode check\ncommand: isutf\n",
"checks current dir text files\n" if grep/^-h$|^help$/, @ARGV;
my @files = <$ENV{"PWD"}/*>; #all files in current dir
foreach(@files){
next if !-T $_; # only TEXT (-T) files
my $err = 0;
print "checking: $_ .. ";
open FILE, "< $_";
binmode FILE, ":utf8";
my @data = <FILE>;
close FILE;
foreach $chr (split //, join('', @data)){
$err++ if !ord($chr);
}
push(@fails, "$err $_\n") if $err > 0;
print "done\n"; # this file
}
print "\nfailed files (not valid unicode):\n@fails\n" if @fails;
print "all files OK\n" if !@fails;
exit;
#
tosin tyhmänä sitten työntää virheilmoitusta ruudun täydeltä
jos ei mielestään löydä unkoodeja merkkejä. mutta tämä onkin eka perbeta