Created
October 22, 2015 14:19
-
-
Save Horopter/b110888a6961d51391e9 to your computer and use it in GitHub Desktop.
Script to convert any file to text file as long as it has been coded in utf-8 format
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh -u | |
zenity --info --ok-label="START" --width="500" --height="300" --title="Horopter Inc." --text "`basename $0` is loaded. Click START to continue." | |
current=`pwd` | |
zenity --question --width="500" --height="300" --title="Welcome to Horopter fileconverter." --text "You need to put all the required files together in a directory, did you do that?" | |
if [ $? -eq 0 ] | |
then | |
zenity --info --width="500" --height="300" --title="Horopter Inc." --text "Example: If the files are in a directory called 'apple',\n /folder1/folder2/apple is location into the directory apple." | |
path=$(zenity --entry --width="500" --height="300" --title="Directory selection" --text "Enter the location into the directory as absolute path, . for current directory: ") | |
if [ -n "$path" ] | |
then | |
cd $path | |
zenity --info --width="500" --height="300" --title="Horopter Inc." --text "Example: If the file to be converted is of type document, it has extension .doc, in that case enter *.doc\nExample: If you have multiple file types, seperate them with spaces. If you have *.doc and *.html enter\n*.doc *.html" | |
from=$(zenity --entry --width="500" --height="300" --title="Filetype insertion" --text "Enter the file types to be converted as illustrated above : ") | |
declare -a var | |
mkdir converted_files | |
var=($from) | |
count=0 | |
for i in "${var[@]}" | |
do | |
let count=count+1 | |
done | |
zenity --info --title="Horopter Inc." --width="500" --height="300" --text "Total $count files were found." | |
zenity --info --title="Horopter Inc." --width="500" --height="300" --text "Example: If the file is to be converted into type document, it should have extension .doc, in that case enter .doc" | |
to=$(zenity --entry --title="Filetype selection" --width="500" --height="300" --text "Enter the file type into which these files have to be converted.") | |
ten=10/$count; | |
twenty=20/$count; | |
forty=40/$count; | |
ff=55/$count; | |
ss=67/$count; | |
sn=69/$count; | |
( | |
for i in "${var[@]}" | |
do | |
echo $ten*i; sleep 1 | |
echo "# $i is being converted"; sleep 1 | |
newt[$count]="`echo $i | cut -d '.' -f1`" | |
v="`echo $i | cut -d '.' -f2`" | |
echo $twenty*i ; sleep 1 | |
echo "# converting the files"; sleep 1 | |
if [ "$v" = "$to" ] | |
then | |
newt[$count]="${newt[$count]}[converted]" | |
fi | |
echo $forty*i ; sleep 3 | |
echo "# Extension removed : ${newt[$count]}"; sleep 1 | |
newt[$count]="${newt[$count]}$to" | |
echo $ff*i; sleep 2 | |
echo "# Created a $to file of name : ${newt[$count]}"; sleep 1 | |
echo $ss*i; sleep 1 | |
touch ${newt[$count]} | |
echo -e "*************************** ${newt[$count]} **********************\n" >> ${newt[$count]} | |
echo -e "----------Converted into a $to file from a shell script\n ------------designed by SANTOSH KUMAR DESAI. :-) \n\n\n" >> ${newt[$count]} | |
echo -e "<< This is preformatted text >>" >> ${newt[$count]} #If this were not there, the system goes into a corrupt state. | |
cat $i >temp.txt ; cat temp.txt >> ${newt[$count]} | |
echo -e "\n\n\n-----End of the document. Conversion courtesy : SANTOSH KUMAR DESAI-----" >> ${newt[$count]} | |
echo $sn*i; sleep 2 | |
echo "# Copied content into the $to file : ${newt[$count]}";sleep 1 | |
mv -n ${newt[$count]} ./converted_files | |
echo "# Moved ${newt[$count]} to the folder converted_files."; sleep 1 | |
done | |
echo "# Finished copying." | |
echo "100"; sleep 1 | |
) | | |
zenity --progress --width="500" --height="300" \ | |
--title="Converting files..." \ | |
--text="Starting progress now..." \ | |
--percentage=0 | |
cd ./converted_files | |
numfiles=`ls -l | wc -l` | |
let numfiles=numfiles-1 | |
zenity --info --width="500" --height="300" --title="Horopter Inc." --text "Total $numfiles files were copied." | |
if [ ! $count -eq $numfiles ] | |
then | |
zenity --error --width="500" --height="300" --title="Horopter Inc." --text "You must have files with same names or same names but different extensions. Please check them out and try again." | |
fi | |
zenity --info --title="Horopter Inc." --width="500" --height="300" --text "Converting all the files into $to files is complete.\n The files are in converted_files directory and it will be available in the same directory as other source files. \n Thanks for using this shell script \n\n\n---- Horopter." | |
fi | |
fi | |
cd $current | |
zenity --info --title="Horopter Inc." --ok-label="FINISH" --width="500" --height="300" --text "Click FINISH to finish." | |
exit 0 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment