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

Shell腳本遍歷目錄并批量修改文件編碼

 更新時間:2014年12月27日 08:52:00   投稿:junjie  
這篇文章主要介紹了Shell腳本遍歷目錄并批量修改文件編碼,本文給出了兩種實(shí)現(xiàn)代碼,需要的朋友可以參考下

在將windows上的jsp網(wǎng)頁移植到linux環(huán)境中時,發(fā)現(xiàn)一個個的轉(zhuǎn)換編碼及修改默認(rèn)編碼類型太慢,寫此腳本進(jìn)行嘗試文件遍歷~

好久不寫,手生了。

復(fù)制代碼 代碼如下:

#!/bin/bash
#
#
SPATH="/root/chengji/WebRoot"
DPATH="/web"
# 函數(shù)開始部分
CYCLING(){
  filelist=`ls -1 $SPATH`
for filename in $filelist ; do
if [ -f $filename ] ; then 
        echo Filename:$filename
        /usr/bin/iconv -f GBK -t UTF-8  $SPATH/$filename -o  $DPATH/$filename
        #cp -pv $SPATH/$filename  $DPATH/$filename 該句為前期便利效果測試
        sed  -i  -e  's/gb2312/UTF-8/g'  -e 's/GB2312/UTF-8/g'  $DPATH/$filename
    elif [ -d $filename ] ; then
        DPATH=$DPATH/$filename
        mkdir -pv $DPATH
        cd $filename
        SPATH=`pwd`
    # Next for recurse 如果遇到目錄進(jìn)行自我調(diào)用。。。實(shí)現(xiàn)深層遍歷
        CYCLING
    # Next Usag: basename dirname
        DPATH=`dirname $DPATH`
        SPATH=`dirname $SPATH`
        cd $SPATH
else
        echo "File $SPATH/$filename is not a common file.Please check."
    fi
  done
}
 # 命令開始部分
cd $SPATH
CYCLING
echo "All Done."

當(dāng)然,上面的代碼由于使用了函數(shù)循環(huán)調(diào)用,顯的很臃腫。下面來一種簡單的方法,find一下:

復(fù)制代碼 代碼如下:

#/bin/bash
#Auth: Mo
#Desc:
#
SPATH="/root/chengji"
DIR=WebRoot
DPATH="/web"
 find ${DIR}   -type d  -exec mkdir -pv ${DPATH}/{}  \;   
 find ${DIR}  -type f -exec  iconv -f GBK -t UTF-8  {} -o  ${DPATH/{}  \; 
echo "The file Next Listed is not a common file or directory ,please check."
find  ${DIR}  ! -type f  -a  ! -type d -ecec  ls -l {} \; 
find  $DPATH -type f -exec sed  -i  -e  's/gb2312/UTF-8/g'  -e 's/GB2312/UTF-8/g'  {} \;
echo ' '
echo "All Done."

相關(guān)文章

  • Linux C線程池簡單實(shí)現(xiàn)實(shí)例

    Linux C線程池簡單實(shí)現(xiàn)實(shí)例

    這篇文章主要介紹了Linux C線程池簡單實(shí)現(xiàn)實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • 在Linux中檢查文件大小的4種常用方法

    在Linux中檢查文件大小的4種常用方法

    在 Linux 操作系統(tǒng)中,經(jīng)常需要檢查文件的大小,無論是管理文件系統(tǒng)空間,還是確定文件傳輸?shù)拇笮∠拗?了解文件大小是非常重要的,本文將介紹 4 種常用的方法,幫助你在 Linux 中檢查文件的大小,需要的朋友可以參考下
    2023-09-09
  • shell性能測試腳本優(yōu)化的技巧

    shell性能測試腳本優(yōu)化的技巧

    這篇文章主要介紹了shell性能測試腳本優(yōu)化技巧,本文通過實(shí)例截圖的形式給大家展示,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • awk中實(shí)現(xiàn)ord函數(shù)功能

    awk中實(shí)現(xiàn)ord函數(shù)功能

    這篇文章主要介紹了awk中實(shí)現(xiàn)ord函數(shù)功能,ord函數(shù)用來將字符轉(zhuǎn)化對應(yīng)的ascii碼,本文給出awk中的ord函數(shù)實(shí)現(xiàn)方法,需要的朋友可以參考下
    2014-08-08
  • shell腳本批量創(chuàng)建用戶的方法小結(jié)

    shell腳本批量創(chuàng)建用戶的方法小結(jié)

    有些面試題中會問到批量創(chuàng)建用戶的題目,大體是用循環(huán)去進(jìn)行創(chuàng)建,但有時也會有一些額外的附加條件,下面這篇文章主要給大家介紹了關(guān)于shell腳本批量創(chuàng)建用戶的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 如何使用shell獲取進(jìn)程名的內(nèi)存以及CPU利用率

    如何使用shell獲取進(jìn)程名的內(nèi)存以及CPU利用率

    最近工作中遇到一個需求,需要找出占用高的進(jìn)程,所以下面這篇文章主要給大家介紹了關(guān)于如何使用shell獲取進(jìn)程名的內(nèi)存以及CPU利用率的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • 如何解決jenkins 執(zhí)行shell腳本 sh: ... not found的問題

    如何解決jenkins 執(zhí)行shell腳本 sh: ... not f

    這篇文章主要介紹了如何解決jenkins 執(zhí)行shell腳本 sh: ... not found的問題,具有很好的參考價值,希望對大家有所幫助。
    2023-06-06
  • awk腳本統(tǒng)計一組單詞中字母出現(xiàn)最多最少頻率

    awk腳本統(tǒng)計一組單詞中字母出現(xiàn)最多最少頻率

    這篇文章主要介紹編寫一個 awk 腳本來找到一組單詞中出現(xiàn)次數(shù)最多(和最少)的單詞頻率,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • 詳解Linux命令中的正則表達(dá)式

    詳解Linux命令中的正則表達(dá)式

    正則表達(dá)式是一套由多個元字符組成的模糊查找模式,使用正則表達(dá)式可以快速查找和定位文本中指定的內(nèi)容。接下來通過本文給大家介紹Linux命令中的正則表達(dá)式,需要的朋友參考下吧
    2017-02-02
  • linux 網(wǎng)卡配置詳解及實(shí)例

    linux 網(wǎng)卡配置詳解及實(shí)例

    這篇文章主要介紹了linux 網(wǎng)卡配置詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05

最新評論

宜章县| 历史| 桂平市| 大理市| 中方县| 鄂托克前旗| 沁阳市| 泗洪县| 弥勒县| 舞钢市| 亚东县| 武平县| 宁陵县| 凌海市| 四子王旗| 新田县| 武威市| 铁力市| 泰安市| 攀枝花市| 华坪县| 乾安县| 台北县| 那曲县| 县级市| 八宿县| 隆德县| 娄底市| 富阳市| 丘北县| 靖安县| 同江市| 湘潭县| 冀州市| 望城县| 安徽省| 彩票| 贵德县| 丁青县| 威宁| 长沙市|