iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >shell实现字符编码转换工具分享
  • 585
分享到

shell实现字符编码转换工具分享

转换工具字符shell 2022-06-04 21:06:27 585人浏览 薄情痞子
摘要

#!/bin/bash : << mark转码工具,支持UTF-8转GBK和GBK转UTF-8孔令飞@2012-05-07mark #set -x scode="gbk"dcode="utf-


#!/bin/bash

: << mark
转码工具,支持UTF-8转GBK和GBK转UTF-8
孔令飞@2012-05-07
mark

#set -x

scode="gbk"
dcode="utf-8"

function Usage()
{
cat << EOF
Usage: conv [OPTIONS] [DIR]
[-u] GBK to UTF-8
[-g] UTF-8 to GBK
EOF
exit 1
}


#将当前目录下所有普通文件进行转码 GBK to UTF-8
function g2u()
{
local dir=$1
printf "Convering $dir ......"
for file in $(ls $dir)
do
file="$dir/$file"
if [ -f $file ];then

coding=$(file -b $file | cut -d ' ' -f1)

#进行转码
if [ "$coding" = "ISO-8859" ];then
local tmpfile=$(mktemp)
Fright=$(stat -c %a $file)
Fuser=$(stat -c %U $file)
Fgro=$(stat -c %G $file)
iconv -f $scode -t $dcode $file > $tmpfile || Usage
mv $tmpfile $file &&
chmod $Fright $file
chown $Fuser:$Fgrp $file
fi
fi
done
printf " donen"
}

function u2g()
{
local dir=$1
printf "Convering $dir ......"
for file in $(ls $dir)
do
file="$dir/$file"
if [ -f $file ];then

coding=$(file -b $file |cut -d ' ' -f1)

#进行转码
if [ "$coding" = "UTF-8" ];then
local tmpfile=$(mktemp)
Fright=$(stat -c %a $file)
Fuser=$(stat -c %U $file)
Fgro=$(stat -c %G $file)
iconv -f $dcode -t $scode $file > $tmpfile || Usage
mv $tmpfile $file &&
chmod $Fright $file
chown $Fuser:$Fgrp $file
fi
fi
done
printf " donen"
}

[ $# -ne 2 ] && Usage

while getopts ug opt
do
case $opt in
u) echo "Convert gbk coding to utf-8 ...."
for dir in $(find $2 -type d)
do
g2u $dir
done

g) echo "Convert utf-8 coding to gbk ...."
for dir in $(find $2 -type d)
do
u2g $dir
done

*) Usage
exit 1

esac
done

exit 0

--结束END--

本文标题: shell实现字符编码转换工具分享

本文链接: https://www.lsjlt.com/news/17874.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • shell实现字符编码转换工具分享
    #!/bin/bash : << mark转码工具,支持UTF-8转GBK和GBK转UTF-8孔令飞@2012-05-07mark #set -x scode="gbk"dcode="utf-...
    99+
    2022-06-04
    转换工具 字符 shell
  • shell中怎么实现一个字符编码转换工具
    shell中怎么实现一个字符编码转换工具,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。#!/bin/bash: << mark转码工具,支持UTF-...
    99+
    2023-06-09
  • Shell中实现字符串反转方法分享
    在做关键词清洗过程中,需要将一类不符合某个字结尾的词过滤出来,思路是把这一批词按最后一个字排序,于是想到了先把这些词反转一下,如把12345转为54321,好像以前在夜息的文章里看过用shell可以实现,就...
    99+
    2022-06-04
    字符串 方法 Shell
  • 实现大小写字母转换的shell脚本分享
    这篇文章主要讲解了“实现大小写字母转换的shell脚本分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“实现大小写字母转换的shell脚本分享”吧!代码如下:#!/bin/sh #edit ...
    99+
    2023-06-09
  • 分享一款php代码编码转换工具,轻松处理中文乱码!
    随着互联网的发展,PHP作为脚本语言的应用范围也越来越广泛,尤其在Web开发中,PHP的应用更是日益增多。然而,由于不同的操作系统或编辑器等环境的不同,中文乱码问题也经常困扰着开发者。因此,本文将介绍一款PHP代码编码转换工具,帮助开发者快...
    99+
    2023-05-14
    php
  • VBS如何实现GB2312,UTF-8,Unicode,BIG5编码转换工具
    这篇文章将为大家详细讲解有关VBS如何实现GB2312,UTF-8,Unicode,BIG5编码转换工具,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体代码: 代码如下:' *====...
    99+
    2023-06-08
  • 网站建设中编码转码工具实现utf-8与gbk转换的方法
    这篇文章给大家介绍网站建设中编码转码工具实现utf-8与gbk转换的方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。所以最好的方法是直接使用编码转换软件,我用的软件是convertz,貌似这个软件N年前开发出来后就没...
    99+
    2023-06-12
  • Shell脚本实现的阳历转农历代码分享
    闲来无事,想在Linux下用shell写一个阳历转农历的脚本,断断续续大概一个星期终于搞定。现在拿出来与大家分享。 1、缘由 本脚本实现原理是查表法(因为公式有误差);基于农历新年为基准,对农历新年前后两个...
    99+
    2022-06-04
    阳历 农历 脚本
  • Java实现屏幕截图工具的代码分享
    目录效果展示程序结构核心代码效果展示 程序运行后的截图: 先测试一下功能: 截图过程对界面的捕捉: 双击保存后的显示界面: 后续的步骤就自己去尝试吧,这里给出了简单的测试过程。...
    99+
    2022-11-13
  • 基于Python实现简单的汉字拼音转换工具
    目录1.准备2.基本使用3.高级使用将汉字转为拼音,可以用于批量汉字注音、文字排序、拼音检索文字等常见场景。 现在互联网上有许多拼音转换工具,基于Python的开源模块也不少,今天给...
    99+
    2022-11-11
  • 基于Python实现视频转字符画动漫小工具
    目录导语正文一、准备中二、原理简介三、代码演示四、效果展示导语 ​哈喽!boys and  girls 我是每天疯狂赶代码的木木子~ 今天带大家来点儿好玩儿的东西,我想你们肯定是喜欢...
    99+
    2022-11-12
  • 如何使用vbs实现字符ANSI代码查询工具
    小编给大家分享一下如何使用vbs实现字符ANSI代码查询工具,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!代码如下:x=InputBox("请输入字符","提示","Tes...
    99+
    2023-06-08
  • 基于Python如何实现视频转字符画动漫小工具
    本篇文章给大家分享的是有关基于Python如何实现视频转字符画动漫小工具,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。导语今天带大家来点儿好玩儿的东西,我想你们肯定是喜欢的!上...
    99+
    2023-06-22
  • 基于Java实现进制转换工具类的示例代码
    目录背景原理十进制A转换为N进制RN进制R转换为十进制A应用延伸背景 最近有个发送短信的功能,需要在短信中带有详情链接,链接中带有对应信息且要有校验功能,然而短信是按字数收费的,所以...
    99+
    2023-02-19
    Java进制转换工具类 Java进制转换
  • JS字符串转GBK编码超精简实现详解
    目录前言遍历查表完善前言 JS 中 GBK 编码转字符串是非常简单的,直接调用 TextDecoder 即可: const gbkBuf = new Uint8A...
    99+
    2022-11-13
    JS字符串转GBK编码 JS字符串转GBK JS 字符串 GBK编码
  • shell脚本中使用iconv实现批量文件转码的代码分享
    在开发中,我们经常需要对N多文件编码进行更改,iconv只能对单文件的进行更改,怎么办呢?我们写一个shell脚本来解决这个问题。 例子一:使用shell脚本实现批量转码的操作。 #!/bin/sh ...
    99+
    2022-06-04
    批量 脚本 代码
  • 汇编语言功能字符串大小写转换实现实例详解
    目录问题1:将data段中的第一个字符串转换成大写,第二个字符串转换成小写问题2:将data段中每个单词的头一个字母改成大写字母问题3:将data段中每个单词改为大写字母问题4:将d...
    99+
    2022-11-12
  • 如何实现批量转换目录下文件编码的shell脚本
    这篇文章将为大家详细讲解有关如何实现批量转换目录下文件编码的shell脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一例批量转换目录下文件编码的shell脚本代码。需求描述:由于从window转lin...
    99+
    2023-06-09
  • C++实现将长整型数转换为字符串的示例代码
    C++实现将长整型数转换为字符串 #include <iostream> using namespace std; char *convertLongTo...
    99+
    2022-11-12
  • C语言实现手写字符串处理工具的示例代码
    目录头文件实现文件头文件 #ifndef STUDY_STR_UTIL_H #define STUDY_STR_UTIL_H #include "../structure/cha...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作