#!/bin/bash # Script wich converts a file in 'text/plain' from an not utf8 char set to utf8 char set # # (c) by Ulf Bartholom�s ulfbart@gmx.de VERSION="$0 Version 0.1.0 from 20.09.2006" # if [ "$1" == "" ]; then echo "Please enter Filename as first option which should be converted" echo echo -e "INFO:\n\tTo convert all old latin1 file-names in new utf8 file-names use:" echo -e "\t\t'convmv --notest -r -f latin1 -t utf-8 *'\n" exit -1 fi myNEWNAME=$1 myNEWNAMEsik=$(echo ${myNEWNAME}~) myFILETYPE=$(file -bi ${myNEWNAME} | cut -d';' -f1) myCHARSET=$(file -bi ${myNEWNAME} | cut -d'=' -f2) # if Filetype is convertable if [ "${myFILETYPE}" == "text/plain" ] && [ "${myCHARSET}" != "utf8" ]; then # If sik file exists break with error message test -e ${myNEWNAMEsik} && echo "File <${myNEWNAMEsik}> exists" && exit -2 mv ${myNEWNAME} ${myNEWNAMEsik} # Convert the old CharSet in utf8 echo "Convert ${myNEWNAME} from ${myCHARSET} to utf8" iconv -f ${myCHARSET} -t utf8 -o ${myNEWNAME} ${myNEWNAMEsik} else # Print error Message echo "Filetype not 'text/plain' (${myFILETYPE}) or char set is 'utf8' (${myCHARSET})" fi