在将windows上的jsp网页移植到linux环境中时,发现一个个的转换编码及修改默认编码类型太慢,写此脚本进行尝试文件遍历~
好久不写,手生了。
复制代码 代码如下:
#!/bin/bash
#
#
SPATH="/root/chengji/WebRoot"
DPATH="/web"
# 函数开始部分
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 如果遇到目录进行自我调用。。。实现深层遍历
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."
当然,上面的代码由于使用了函数循环调用,显的很臃肿。下面来一种简单的方法,find一下:
复制代码 代码如下:
#/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."
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]