批量转换目录下文件编码的shell脚本代码
一例批量转换目录下文件编码的shell脚本代码。
需求描述:
由于从window转linux过来,很多原来win下的gbk文件需要转换成utf8。
以下脚本仅判断非utf8文件转换成utf8文件,并且默认非utf8文件为gbk,如果文件类型不一致需要修改。
例子:
#!/bin/bash
# File Name: iconv.sh
# Author: wanggy
# site: www.jb51.net
#
show_file()
{
for file in `ls $1`
do
if [ -d $1"/"$file ];then
#目录递归调用show_file函数
show_file $1"/"$file
else
#文件
echo $1"/"$file
file_type=`file $1"/"$file`
type=`echo $file_type |grep UTF-8`
if [ -z "$type" ];then
echo "为空非utf-8编码,转换"
iconv -f gbk -t utf8 $1"/"$file -o $1"/"$file
else
echo "utf8编码不用转换"
fi
fi
done
}
path=./shell
show_file $path
相关推荐
-
shell查找当前目录下大于1M的文件的三种方法分享
1.使用find的参数实现 复制代码 代码如下: [root@xiaobb mnt]# find . -maxdepth 1 -size +1000000c./sys.tar.gz./install.tar.bz2./CTeX_2.9.0.152_Full.exe./php-5.3.6.tar.gz[root@xiaobb mnt]# ls -lhtotal 1.3G-rw-r--r-- 1 root root 1.1G 2011-04-28 11:35 CTeX_2.9.0.152_Full.
-
找出文件中包含指定字段的文件的shell脚本
复制代码 代码如下: #!/bin/bash find / -name "*.php" > list.txt f=`cat ./list.txt` for n in $f do r=`egrep 'abc' $n` if [ ! "$r" = "" ] ; then echo $n fi done
-
linux下保留文件系统下剩余指定数目文件的shell脚本
本节内容:保留文件系统下剩余指定数目的文件 例子: 复制代码 代码如下: #!/bin/bash #------------------------------- #Description: Back up your files#site: www.jb51.net#------------------------------- #shell 变量path_source=/mnt/fifth/shell path_backup=/mnt/fifth/backup/shellbackup path
-
shell去掉文件中空行(空白行)的方法详解
本文详细介绍了使用shell去除文件中的空行的方法,学习下sed.awk.shell文件检测的方法,有需要的朋友可以作个参考. 本节内容:shell去掉文件中空行 1,shell 去掉文件中的空行 复制代码 代码如下: cat filename | sed -e '/^$/d' > filename 2,保留最新的9个文件,其它的文件删除的命令语句 复制代码 代码如下: ls -t | awk '{if(NR>9){print $0}}' |xargs rm -f 附,shell中的特殊变量
-
判断文件是否存在的shell脚本代码
实现代码一. #!/bin/sh # 判断文件是否存在 # link:www.jb51.net # date:2013/2/28 myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 if [ ! -x "$myPath"]; then mkdir "$myPath" fi # 这里的-d
-
合并一个文件夹下多个文件内容的单行shell命令
合并一个文件夹下多个文件内容: 复制代码 代码如下: find -name "*.log" -exec 'cat' {} \; > test.tmp
-
在指定目录查找指定后缀文件的shell脚本代码
复制代码 代码如下: #!bin/sh # 在指定位置查找指定后缀的文件,包括子目录 # 用法: # findf $1 $2 # 第一个参数为后缀 # 查找指定后缀的文件并打印出来 # link:www.jb51.net# date:2013/2/26 f() { list=`find $2|grep "/.$1/>"` for i in $list do echo $i done } # 打印用法 print() {
-
Visual Style中的shellstyle.dll文件修改方法
Visual Style中的shellstyle.dll文件修改 2007-3-8 11:25:00 作者: Silencer shellstyle.dll修改 *部分内容参考自whistl3r的Shellstyle Tutorial 预备知识 1.shellstyle.dll的结构 UIFiles: UIFile1:定义窗体及任务列表样式 UIFile2:定义控制面板样式 Resources:资源文件列表 10,11,12:音乐文件夹 13,14,15:图片文件夹 16,17,18:查找
-
后台实时分流文件的shell脚本
将bill 文件夹下的文件按一定规则(文件名奇偶)拷贝至bill1,bill2 文件夹下.更新bill1,bill2 处理进度标签(更新file.max)file3 为bill 目录下当前最新文件的标签,正常情况下每分钟会更新(格式为:20121016122100) 复制代码 代码如下: #!/bin/bash#for wanggy 2012/10/16bill1=/infosms/bill1bill2=/infosms/bill2file_max=`cat file3`cd /infosms/
-
shell对比文件内容脚本分享
复制代码 代码如下: #!/bin/shfunction _diffab(){x=0for i in `cat $1`;do for j in `cat $2`;do if [ $i == $j ];then x=1 break; fi done if [ $x -ne 1 ];then
-
Byshell后门:无进程无DLL无硬盘文件
适合读者:入侵爱好者.网络管理员.黑器迷 前置知识:C基本语法 刘流:后门是黑客们永恒的话题,在各大网站如163.Yahoo.北大等相继被黑之后,越来越多的人开始关注服务器的安全,而各种后门技术也空前地火暴起来!今天我们将给大家带来一个重量级后门的使用.编程方法,让广大新手朋友们有好后门玩,让编程技术爱好者有好的后门编程技术可以借鉴.当然,更多的新技术还等你去发掘. Byshell后门:无进程无DLL无硬盘文件无启动项 现在网络上流行的木马后门类工具很多,但可以称为精品的则没有多少,大多数新手们
-
shell判断文件,目录是否存在或者具有权限的代码
核心代码 #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" #这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 if [ ! -x "$myPath"]; then mkdir "$myPath" fi #这里的-d 参数判断$myPath是否存在 if [ ! -d "$myPath"]; then
-
查找目录下同名但不同后缀名文件的shell脚本代码
因为后台录入的同事,上传文件的时候,给文件取了相同的名字,但不同的后缀名,由于文件路径非常深,大概十层左右,每一层又有几十个文件,所以人工找起来非常麻烦,所以写了个脚本,帮他们实现查找指定目录下所有子目录及文件,找出相同文件名,不同后缀的文件,然后,手动保留其中一个. 复制代码 代码如下: #!/bin/bash #判断一下脚本参数的问题 if [ $# -ne 1 ];then echo "Usage find_same.sh direcroty" exit f
-
使用ShellClass获取文件属性详细信息的实现方法
首先引用COM组件Microsoft Shell Controls And Automation这里需要注意DLL的属性Embed Interop Type 设为False否则会引起互操作类型异常 代码如下ShellClass sh = new ShellClass();Folder dir = sh.NameSpace(Path.GetDirectoryName(sFile));FolderItem item = dir.ParseName(Path.GetFileName(sFile));s
-
shell替换文件中的文件路径脚本分享
用法参数1.写有需要替换路径记录的文本,格式:老路径 老名称 新路径 新名称参数2.需要替换的文件的目录参数3.需要替换的文件的类型 复制代码 代码如下: #!/bin/sh function _replace(){basepath=$0> $basepath.logi=1while read linedo echo "start==========================================================================
随机推荐
- PHP中=赋值操作符对不同数据类型的不同行为
- VB语言使用ADO连接、操作SQLServer数据库教程
- Javascript中Event属性搜集整理
- SSH框架网上商城项目第17战之购物车基本功能
- IOS 开发之UILabel 或者 UIButton加下划线链接
- 来自国外的页面JavaScript文件优化
- php中array_unshift()修改数组key注意事项分析
- 前端必备神器 Snap.svg 弹动效果
- 不能使用“;文件已在使用中 Microsoft JET Database Engine
- Android UI实现多行文本折叠展开效果
- Nodejs Express4.x开发框架随手笔记
- Json转化为Java对象的实例详解
- sqlserver 统计sql语句大全收藏
- Shell脚本实现乱序排列文件内容的多种方法(洗牌问题)
- juqery 学习之五 文档处理 包裹、替换、删除、复制
- EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
- 400多行Python代码实现了一个FTP服务器
- PHP个人网站架设连环讲(四)
- 不需手术,“男声”也可变“女声”
- PHP实现数组转JSon和JSon转数组的方法示例