最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

shell腳本中使用iconv實現(xiàn)批量文件轉(zhuǎn)碼的代碼分享

 更新時間:2014年08月04日 11:33:07   投稿:junjie  
這篇文章主要介紹了shell腳本中使用iconv實現(xiàn)批量文件轉(zhuǎn)碼的代碼分享,本文提供了2個實現(xiàn)代碼和各自使用方法,需要的朋友可以參考下

在開發(fā)中,我們經(jīng)常需要對N多文件編碼進(jìn)行更改,iconv只能對單文件的進(jìn)行更改,怎么辦呢?我們寫一個shell腳本來解決這個問題。

例子一:使用shell腳本實現(xiàn)批量轉(zhuǎn)碼的操作。

#!/bin/sh 
#
convertCodeFilePath=$1 
fromCode=$2 
toCode=$3 
 
for i in {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 $fileName |awk -F. '{print $2}'` 
     
    [ -d $fileName ] 
    if [ $? -eq 0 ] 
    then 
      continue 
    fi 
     
    if [ $fileType != 'sh' ] && [ $fileType != 'py' ] && [ $fileType != 'xml' ] && [ $fileType != 'properties' ] \ 
    && [ $fileType != 'q' ] && [ $fileType != 'hql' ] && [ $fileType != 'txt' ] 
    then 
      continue 
    fi 
     
    iconv -f $fromCode -t $toCode -c -o $fileFullPatch $fileFullPatch 
    if [ $? -ne 0 ] 
    then 
      echo $fileName "=>" convert code failed. 
      continue 
    else 
      echo $fileName "=>" convert code success. 
    fi     
  done 
done

使用方式:

sh convertCode.sh /home/sam/data gbk utf-8

例子二:簡潔版

用法示例:

cd ~/workspace/XXXProject
 
~/iconv_shell.sh ./ *java

好了,直接上代碼~~

#!/bin/bash
 
if [ "$#" != "2" ]; then
 
  echo "Usage: `basename $0` dir filter"
 
  exit
 
fi
 
dir=$1
 
filter=$2
 
echo $1
 
for file in `find $dir -name "$2"`; do
 
  echo "$file"
 
  iconv -f gbk -t utf8 -o $file $file
 
done

這里還有些修改的余地,比如源和目標(biāo)編碼應(yīng)該作為參數(shù),我暫時沒有這個需求,懶得寫了。

相關(guān)文章

  • Linux中nmcli命令使用詳解

    Linux中nmcli命令使用詳解

    nmcli是Linux系統(tǒng)中的一個命令行工具,用于管理網(wǎng)絡(luò)連接,它可以幫助用戶配置和管理網(wǎng)絡(luò)連接、網(wǎng)絡(luò)設(shè)備以及網(wǎng)絡(luò)連接的屬性,本文給大家詳細(xì)介紹了Linux nmcli命令使用方法,需要的朋友可以參考下
    2024-03-03
  • Linux中自定義shell腳本啟動jar包的方法

    Linux中自定義shell腳本啟動jar包的方法

    這篇文章主要介紹了Linux中自定義shell腳本啟動jar包的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Linux du命令查看文件夾大小并按降序排列

    Linux du命令查看文件夾大小并按降序排列

    這篇文章主要介紹了Linux du命令查看文件夾大小并按降序排列,需要的朋友可以參考下
    2015-11-11
  • shell腳本兩個文件關(guān)鍵行合并方式

    shell腳本兩個文件關(guān)鍵行合并方式

    這篇文章主要介紹了shell腳本兩個文件關(guān)鍵行合并方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Shell腳本實現(xiàn)監(jiān)視指定進(jìn)程的運(yùn)行狀態(tài)

    Shell腳本實現(xiàn)監(jiān)視指定進(jìn)程的運(yùn)行狀態(tài)

    這篇文章主要介紹了Shell腳本實現(xiàn)監(jiān)視指定進(jìn)程的運(yùn)行狀態(tài),本文直接給出腳本代碼,需要的朋友可以參考下
    2015-07-07
  • linux命令之crontab命令用法詳解

    linux命令之crontab命令用法詳解

    crontab命令一般被用來提交和管理用戶的需要周期性執(zhí)行的任務(wù),與windows下的計劃任務(wù)類似,這篇文章主要為大家介紹了它的使用,需要的可以參考下
    2023-08-08
  • 檢查linux網(wǎng)絡(luò)狀態(tài)的兩個腳本

    檢查linux網(wǎng)絡(luò)狀態(tài)的兩個腳本

    檢查linux網(wǎng)絡(luò)狀態(tài)的兩個腳本,包括通過定時收發(fā)email檢測網(wǎng)絡(luò)連通性、定時檢測網(wǎng)絡(luò)狀態(tài)通過email發(fā)送,有需要的朋友可以參考下
    2013-02-02
  • linux shell之pushd、popd和dirs的使用講解

    linux shell之pushd、popd和dirs的使用講解

    今天小編就為大家分享一篇關(guān)于linux shell之pushd、popd和dirs的使用講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • 完美解決linux下dns配置重啟失效的問題

    完美解決linux下dns配置重啟失效的問題

    下面小編就為大家?guī)硪黄昝澜鉀Qlinux下dns配置重啟失效的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • shell腳本編程之循環(huán)語句

    shell腳本編程之循環(huán)語句

    這篇文章主要介紹了shell腳本編程之循環(huán)語句的相關(guān)資料,需要的朋友可以參考下
    2016-01-01

最新評論

得荣县| 阳高县| 钟祥市| 镇坪县| 株洲市| 锦屏县| 同心县| 称多县| 尼木县| 遵化市| 澄江县| 武清区| 金乡县| 信丰县| 农安县| 若尔盖县| 宝应县| 津南区| 宜城市| 蛟河市| 儋州市| 奈曼旗| 宜章县| 成安县| 临颍县| 南部县| 侯马市| 庆元县| 泾阳县| 花莲县| 泰兴市| 上栗县| 体育| 峡江县| 芦山县| 裕民县| 西盟| 怀远县| 太和县| 莱阳市| 衡山县|