Linux下批量修改文件编码

假设需要将所有ipaddr目录下的php文件,编码从gb2312转到utf8

cd ipaddr

find ./ -type f -name "*.php"|while read line;do

echo $line

iconv -f GB2312 -t UTF-8 $line > ${line}.utf8

mv $line ${line}.gb2312

mv ${line}.utf8 $line

done

上面脚本将当前ipaddr目录下的所有php文件,从gb2312转到utf8,原文保存为*.php.gb2312。

如果需要删除原来的gb2312文件,只需执行:

find ./ -type f -name "*.utf8" -exec rm -f {} \;

(0)

相关推荐

  • 详解linux下批量替换文件内容的三种方法(perl,sed,shell)

    在建设本网站的时候,发现新建了很多的网页,突然发现,每个文件都需要进行修改一样的内容,一个一个打开很是麻烦,所以,总结了一下如何快速修改一个目录下多个文件进行内容替换.第三种方法用的不多 方法一 使用perl ,命令如下: 复制代码 代码如下: find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g' 方法二 使用sed命令如下: 复制代码 代码如下: sed -i "s/原字符串/新字符串/g" `grep 原字符串

  • Linux 下rename 命令的用法第1/2页

    首先来说一下mv命令,在man mv中我们可以看到对于mv命令的介绍是这样的: mv -move(rename) files 可以看到mv命令确实有重命名的功能,但是实际应用中,它只能对单个文件重命名,命令如下: mv [path/]oldfilename [path/]newfilename "mv命令只能对单个文件重命名",这实就是mv命令和rename命令的在重命名方面的根本区别. 再来说rename命令,在man rename的说明如下: NAME rename -Rename

  • linux下批量删除utf8 bom的实现方法

    低版本的gcc编译包含bom的文件会报错 xxx.cpp:1: error: stray '\357' in program xxx.cpp:1: error: stray '\273' in program xxx.cpp:1: error: stray '\277' in program 批量删除之 grep -rIlo $'^\xEF\xBB\xBF' . | xargs sed --in-place -e 's/\xef\xbb\xbf//' 在文件末尾增加空白行 find . -nam

  • Linux中用rename命令批量替换文件名方法实例

    前言 在Linux系统中修改文件名可以用mv命令,但是它只能对单个文件进行操作,如要要批量执行还要写shell脚本,用for语句迭代执行,不过Linux中另外一个命令支持批量替换文件名,它是rename,rename支持正则表达式匹配. 需要注意的是:rename命令在不同的Linux发行版语法格式不一样. 语法 在Debian或者Ubuntu环境下使用的语法是: rename 's/stringx/stringy/' files 而在CentOS下或者RedHat下是: rename stri

  • linux中批量修改文件名的脚本代码

    使用 rename 命令 ======================== NAME rename - Rename files SYNOPSIS rename from to file... ======================== 复制代码 代码如下: #! /bin/sh INIFILE="./dirlist.ini" CURPATH=$(pwd) for SERVERPATH in $(cut -d: -f1 $INIFILE) do cd $SERVERPATH cd

  • 详解Linux批量更改文件后缀名

    今天又有同学问Linux下怎样批量更改文件后缀名,这个问题被别人问到三次了,所以这里给出几个解决方法 一.rename解决 1.  Ubuntu系统下 rename 's//.c//.h/' ./* 把当前目录下的后缀名为.c的文件更改为.h的文件 2.  CentOS5.5系统下 rename .c .h *.c 把当前目录下的后缀名为.c的文件更改为.h的文件 二.shell 脚本解决 #!/bin/bash find ./ -name *.c | while read i do echo

  • 在Linux中批量建立用户的shell

    最近,笔者在校园网应用平台建设中采用了Linux操作系统,为校园网用户提供DNS.Apache.POP3.SMTP.FTP等服务.由于我校学生用户数在3000人以上,笔者在建设整个应用平台的过程中特别重视保证用户管理效率.我的基本思路和做法是:利用shell为每个学生建立一个系统账号--即提供一个E-mail地址(含FTP空间账号),然后学生可以凭借其E-mail再注册论坛用户.基于这样的管理思路,笔者编写了一个批量建立用户的shell,实践证明,利用shell可以有效地管理基于Unix内核的系

  • Linux下批量修改文件编码

    假设需要将所有ipaddr目录下的php文件,编码从gb2312转到utf8 cd ipaddr find ./ -type f -name "*.php"|while read line;do echo $line iconv -f GB2312 -t UTF-8 $line > ${line}.utf8 mv $line ${line}.gb2312 mv ${line}.utf8 $line done 上面脚本将当前ipaddr目录下的所有php文件,从gb2312转到ut

  • Linux下批量修改服务器用户密码方法步骤

    密码快要过期.由于机器数量众多,因此采用批量修改密码的方式来进行处理. 下面是具体步骤: 1.配置ssh免key # ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa # ssh-copy-id 10.230.86.64 (由于只是需要单向的copy文件,因此我们配置63与64到91的boco用户免key即可) 2.测试免key是否配置成功 3.编写密码文件 将所有需要修改的用户与密码按下面格式写到文件里,注意中间不要有空行 vi userpasswdfile.t

  • Shell脚本遍历目录并批量修改文件编码

    在将windows上的jsp网页移植到linux环境中时,发现一个个的转换编码及修改默认编码类型太慢,写此脚本进行尝试文件遍历~ 好久不写,手生了. 复制代码 代码如下: #!/bin/bash # # SPATH="/root/chengji/WebRoot" DPATH="/web" # 函数开始部分 CYCLING(){   filelist=`ls -1 $SPATH` for filename in $filelist ; do if [ -f $file

  • linux中批量添加文件前缀的操作方法

    需要在文件夹内所有txt文件的文件名前面添加"gt_"; 就是由原来的文件"xxx.txt"变成"gt_xxx.txt": 网上搜来的脚本如下: for i in `ls`; do mv -f $i 'echo "gt_"$i`; done 1.首先, linux命令行切换到你需要修改文件名的目录之下: cd 目的目录 2.在该目录下新建sh文件: touch xxx.sh 3.打开xxx.sh文件: vim xxx.sh 3

  • Linux 中批量提取文件夹下所有目录及文件名称

    1.当前目录下打开CMD控制台窗口,执行如下bat命令:dir *.*/b>文件名.txt 2.如下图例操作步骤: 打开CMD窗口 输入命令 生成文件 结果截图 总结 以上所述是小编给大家介绍的Linux 中批量提取文件夹下所有目录及文件名称 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

  • nodejs批量修改文件编码格式

    摘要: 最近在制作手册的时候遇到了一个问题'文档乱码',查看文件之后发现文件编码不对,总共100多个文件,如果用编辑器另存为utf8,那就悲催了.所以自己就写了个程序,批量修改文件编码格式. 代码: 复制代码 代码如下: /**  * 修改文件编码格式,例如:GBK转UTF8  * 支持多级目录  * @param {String} [root_path] [需要进行转码的文件路径]  * @param {Array}  [file_type] [需要进行转码的文件格式,比如html文件]  *

  • 使用iconv批量改变文件编码的shell脚本

    这篇文章主要介绍了编写shell脚本,使用iconv批量改变文件编码的脚本代码,需要的朋友可以参考下. 用法示例: cd ~/workspace/XXXProject ~/iconv_shell.sh ./ *java 好了,直接上代码~~ #!/bin/bash if [ "$#" != "2" ]; then echo "Usage: `basename $0` dir filter" exit fi dir=$1 filter=$2 ech

  • Python实现的批量修改文件后缀名操作示例

    本文实例讲述了Python实现的批量修改文件后缀名操作.分享给大家供大家参考,具体如下: windows和linux下都支持该程序 以下程序可以进行批量修改文件后缀名: #!/usr/bin/env python #coding:utf8 #! python3 #批量修改一个文件下的文件后缀 import sys import os def Rename(): #Path = "F:\\test\\" # windows下的文件目录 Path = input("请输入你需要操

  • bat批处理批量修改文件扩展名的方法

    有的时候我们可能会遇到,在一个文件夹内有很多个文件,我们需要修改这些文件的扩展名,当然我们可以一个一个的修改,可是如果有很多文件,那就很麻烦了,所以今天就教大家批量修改文件扩展名的方法,希望大家能够灵活运用. 这里假设你要把扩展名为.gif的文件都改成.jpg格式,那么具体方法如下: 1.首先进入需要改扩展名的文件夹内新建一个记事本 2.在记事本中输入如下内容 复制代码 代码如下: ren *.gif *.jpg 3.将记事本的扩展名改名为.bat 4.双击运行bat文件即可批量将该文件夹下的所

随机推荐