Code sharing for batch file transcoding using Iconv in shell scripts _linux shell

Source: Internet
Author: User

In development, we often need to change the N-file encoding, ICONV can only make changes to a single file, how to do? Let's write a shell script to solve this problem.

Example one: Using shell script to implement bulk transcoding operation.

#!/bin/sh # convertcodefilepath=$1 fromcode=$2 tocode=$3 for i ' {1..1} do [-f $convertCodeFilePath] if [ $? 
    -eq 0] Then iconv-f $fromCode-T $toCode-C-O $convertCodeFilePath $convertCodeFilePath if [$-ne 0]      
    Then echo $convertCodeFilePath "=>" Convert code failed. 
    else echo $convertCodeFilePath "=>" Convert code success. 
  Fi break; 
  fi [D $convertCodeFilePath] if [$?-ne 0] then break; fi dir= ' ls $convertCodeFilePath | Sort-d ' for fileName in $dir do filefullpatch= $convertCodeFilePath/$fileName filetype= ' echo $file 
     
    Name |awk-f. ' {print $} ' [-D $fileName] if [$-eq 0] then continue fi If [$fileType!= ' sh '] && [$fileType!= ' py '] && [$fileType!= ' xml '] && [$fileType!= ' Pro Perties '] && [$fileType!= ' Q '] && [$fileType!= ' hql '] &&amP [$fileType!= ' txt '] then continue fi iconv-f $fromCode-T $toCode-C-O $fileFullPatch $fi 
      Lefullpatch if [$-ne 0] then echo $fileName "=>" Convert code failed. 
    Continue else echo $fileName "=>" Convert code success.
 Fi done.

How to use:

SH convertcode.sh/home/sam/data gbk Utf-8

Example two: Concise version

Usage examples:

CD ~/workspace/xxxproject
 
~/iconv_shell.sh./*java

Okay, go straight to the code ~ ~

#!/bin/bash
 
If ["$#"!= "2"]; then
 
  echo "Usage: ' basename $ ' dir filter"
 
  exit
 
fi
 
dir=$1
 
filte R=$2
 
echo "for
 
file" $dir-name "$"; do
 
  echo "$file"
 
  iconv-f gbk-t utf8-o $file $file 
   done

There are some changes here, such as source and target encoding should be as parameters, I do not have the need for the time being, lazy to write.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.