Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Author: MichalM.Mac
- # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- # Config
- export ENCODING_FROM='CP1250'
- export ENCODING_TO='UTF-8'
- SUB_EXTENSION='.srt'
- # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- error_printer() {
- echo "$@" 1>&2;
- }
- # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- convert_sub_encoding(){
- if file --mime-encoding "$1" | grep -iq "$ENCODING_TO"; then
- error_printer "Error: File $1 is alredy encoded in $ENCODING_TO"
- return
- fi
- mv "$1" "${1}_temp"
- iconv -f "$ENCODING_FROM" -t "$ENCODING_TO" "${1}_temp" > "$1" && rm "${1}_temp"
- }
- find_subs(){
- export -f error_printer
- export -f convert_sub_encoding
- find "$1" -name "*${SUB_EXTENSION}" -exec bash -c 'convert_sub_encoding "$0"' {} \;
- }
- # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- # Main Body
- if [ $# -eq 0 ]; then
- echo "Error: No Aruments specified -> Nothing to do."
- fi
- # Postupné zpracování všech dodaných parametrů
- while [ $# -gt 0 ]
- do
- if [ -d "$1" ]; then
- find_subs "$1"
- elif [ -f "$1" ]; then
- convert_sub_encoding "$1"
- else
- error_printer "Error: $1 is not valid file or directory"
- fi
- shift
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement