Linux下批量修改文件编码】的更多相关文章

假设需要将所有afish目录下的php文件,编码从gb2312转到utf8 cd afish 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 上面脚本将当前afish目录下的所有php文件,从gb2312转到utf8,原文保存为*.p…
Linux下批量修改文件及文件夹所有者及权限需要使用到两个命令,chmod以及chown 例:对/opt/Oracle/目录下的所有文件与子目录执行相同的权限变更: chmod -R 700 /opt/oracle/ -R参数是递归 处理目录下的所有文件以及子文件夹 700是变更后的权限表示(只有所有者有读和写以及执行的权限) /opt/oracle/ 是需要执行的目录 例:对 /opt/oracle/  目录下的所有文件与子目录执行相同的所有者变更,使所有者修改为oinstall用户组的ora…
find -iname "*.java" -exec enca {} + |grep -v ASCI |grep -v -i utf |awk -F':' '{print $1}' > /tmp/f for i in $(cat /tmp/f);do echo $i;iconv -f GB2312 -t utf8 $i -o $i;done…
Linux下批量替换文件内容方法 https://www.cnblogs.com/fjping0606/p/4428850.html 刚才用到的命令 原作者写的挺好的记录一下 以后 用. 1:查找find . -type f -name "*.html"|xargs grep ‘yourstring’ 2:查找并替换find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g' perl -pi -e在Perl 命令中加上-…
Linux下从给定文件夹中找出小于1M的文件,并批量添加.gif后缀 先看一下文件夹下的目录的格式 ll -Sh -rw-rw-r-- 1 yangkun yangkun 17M May 10 15:38 i_8_ezgifcomresize3c0664 -rw-rw-r-- 1 yangkun yangkun 16M May 10 15:36 i_0_giphy.1 -rw-rw-r-- 1 yangkun yangkun 16M May 10 15:37 i_2_giphy.21 -rw-r…
1:查找find . -type f -name "*.html"|xargs grep ‘yourstring’ 2:查找并替换find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g' perl -pi -e在Perl 命令中加上-e 选项,后跟一行代码,那它就会像运行一个普通的Perl 脚本那样运行该代码.从命令行中使用Perl 能够帮助实现一些强大的.实时的转换.认真研究正则表达式,并正确地使用,将会为您省去大量…
1.网络上现成的资料 格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串: (此命令很强大) sed -i "s/oldstring/newstring/g"  `grep oldstring -rl yourdir` 解释一下: -i  表示 inplace edit,就地修改文件 -r 表示recursive ,搜索子目录 -l 表示line number,输出匹配的文件名…
原文地址: http://blog.csdn.net/sea_shore/article/details/6102437 1.rename命令批量修改文件名, 其实linux下可以使用别的办法来批量修改文件名, 不过rename实在太方便了 比如把所有的表为cdb1_* 修改为cdb_*的在本目录下只需要# rename 'cdb1' 'cdb' * 以前都是写个for循环来做...想想多傻啊, 呵呵 rename还有更多的功能, 建议man rename下 From:http://www.ha…
对于在Linux中修改文件名的方式一般我们会用mv命令进行修改,但是mv命令是无法处理大量文件修改名称. 但是在处理大量文件的时候该如何进行批量修改呢? 方法一:mv配合for循环方式进行修改 [root@show day74]# for name in `ls *.html`;do echo $name ${name%.html}.jpg;done .html .jpg .html .jpg .html .jpg .html .jpg .html .jpg .html .jpg .html .…
查看文件的编码 方法一: 1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式.注:如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc 文件中添加以下内容:set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 2.enca (如果你的系统中没有安装这个命令,可以用sudo yum install -y enca 安装 )查看文件编码$ enca filenam…
C fwrite在任意位置写入文件,并可修改文件内容 想实现类似迅雷那样下载时可以从文件半中间写入的功能 #include<stdio.h> int main() { FILE *fp; fp=fopen("overwrite.bin","rb+"); //使用rb+模式,可以往半中间插入数据,而且是覆盖插入,若使用"ab+"每次都插入到最后面,调用fseek也没用 if(NULL != fp) { == (fseek(fp,, SE…
http://www.cnblogs.com/end/archive/2012/05/24/2517131.html 1.网络上现成的资料 格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换/home下所有文件中的www.admin99.net为…
1.批量替换指定多个文件的文件内容 在指定目录/your/path里,查找包含old_string字符串的所有文件,并用new_string字符串替换old_string字符串. sed -i "s/old_string/new_string/g" `grep old_string -rl /your/path` 2.批量修改指定多个文件的文件名 在指定的路径/your/path下,查找以old_name字符串开头的所有文件,并以new_string替换掉old_string字符串.…
一.背景 今天遇到windows下文件放置到ubuntu下后,使用vi打开文件,发现每一行结尾总是显示出^M,因此以下是批量转换成linux下格式的方法 二.批量转换成unix下的格式 find . -type f -exec dos2unix    {}    \ ; 三.批量转换成windows下的格式 find . -type f -exec unix2dos    {}    \ ;…
在建设本网站的时候,发现新建了很多的网页,突然发现,每个文件都需要进行修改一样的内容,一个一个打开很是麻烦,所以,总结了一下如何快速修改一个目录下多个文件进行内容替换.第三种方法用的不多 方法一 使用perl ,命令如下: find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g' 方法二 使用sed命令如下: sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录` 方法三 使用shell…
分享一个自己编写的递归查找子目录,将所有cpp文件编码修改为utf-8编码格式的小脚本 #i!/usr/bin/env python3 # -*- coding:utf-8 -*- import os import sys import codecs import chardet def convert(filename,out_enc="UTF-8"): try: content=codecs.open(filename,'rb').read() source_encoding=ch…
在附件->命令提示符->右键->以管理员身份运行 进入你需要修改的文件位置,然后输入下面两条命令 takeown /f * /A /R icacls * /t /grant:r everyone:f 之后就可以修改文件夹和文件的内容了…
作为一个linux的学徒,分享一下自己解决这个小问题的心得,在处理这个问题时使用了一个小技巧感觉很适用,个人发觉linux的终端真滴是非常强大,下面就详细地介绍这个问题以及解决办法吧 问题描述:由于要分析登录Ip所以有很多放有不同Ip的日志文件,首先要将所有log文件合并成一个log文件,并将每一个Ip最后一位修改为0,如,原IP为127.0.0.1,现Ip为127.0.0.0 解决方法:使用linux终端命令 1.先合并多个日志文件为一个日志文件:   cat test1.log test2.…
1.         :s/vivian/sky/ 替换当前行第一个 vivian 为 sky            :s/vivian/sky/g 替换当前行所有 vivian 为 sky 2.         :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky            :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky                     (n 为数…
从网上下载的项目,有时候.java文件的编码是ANSI.导入到自己的MyEclipse后,查看项目源码的时候,总是乱码. 一个个.java去修改的话, 既麻烦又不现实.所以写了下面这个工具类,进行批量转编码. 代码的原理仅仅就是遍历文件,然后使用流,对按照文件的原编码进行读取,用目的编码进行写操作. 直接上源码: package test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.F…
1. 在linux批量删除多级目录下同一格式的文件,可采用find + exec命令组合: 如在删除old目录下的,所有子目录中,后缀为.l的文件方法为: find old -type f -name "*.l" -exec rm -f {} \; 说明: •old:待查找的开始目录,搜索其下的子目录 •-type f : 文件类型为普通文件   若查找的目标文件是目录,则用 -type d •-name "*.l" :  表示文件名与"*.l"…
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令h :光标左…
比如我想把/var/www/html下的文件全部改成664,文件夹改成775,怎么做呢 方法一: 先把所有文件及文件夹改成664,然后把所有文件夹改成775 root@iZ25bq9kj7yZ:/ cd /var/www/html root@iZ25bq9kj7yZ:/var/www/html chmod -R 664 ./ root@iZ25bq9kj7yZ:/var/www/html find ./ -type d|xargs chmod 775 方法二: 把所有文件改成664,把所有文件夹…
1.用find和xargs添加后缀名 [root@node99 yum.repos.d]# ls -ltr total 32 -rw-r--r--. 1 root root 5701 Nov 23 21:16 CentOS-Vault.repo -rw-r--r--. 1 root root 1331 Nov 23 21:16 CentOS-Sources.repo -rw-r--r--. 1 root root 630 Nov 23 21:16 CentOS-Media.repo -rw-r-…
最近因为突然用到需匹配更换文件名,发现rename命令真是 简单好用,和sed语法及vim 替换很相似. 1. 更改文件名后缀 rename 's/\.txt/\.html/' * 2.增加文件名后缀 rename 's/$/\.txt/' * 3.删除文件名后缀 rename 's/.txt//' * 4.模式匹配修改文件名 rename 's/A-Z/a-z/' or rename 's/(\d)/第$1章/' *…
iconv_shell.sh #!/bin/bash "];then echo "Usage: `basename $0` dir filter" exit fi dir=$ filter=$ echo $ for file in `find $dir -name "$2"`;do echo "$file" iconv -f gb18030 -t utf8 -o $file $file done use: ./iconv_shell.s…
众所周知,Windows和Linux的文件换行回车格式不同,Windows下换行格式是\r\n(回车+换行),Linux下换行格式为\n(只是换行),因此,其中一个操作系统的文本文件若需要在另外一个中显示,需要转换.在Linux系统中,提供了两个命令进行这种转换:unix2dos,dos2unix. 今天上午,翻阅以前的笔记(注意,是linux下的txt文件),为了在win7下呈现,不得已,需要装换,但笔记name格式实在不统一,譬如mysql01.txt, mysql_01.txt,mysql…
在windows下,一个文件有:创建时间.修改时间.访问时间.而在Linux下,一个文件也有三种时间,分别是:访问时间.修改时间.状态改动时间. 两者有此不同,在Linux下没有创建时间的概念,也就是不能知道文件的建立时间,但如果文件建立后就没有修改过,修改时间=建立时间;如果文件建立后,状态就没有改动过,那么状态改动时间=建立时间;如果文件建立后,没有被读取过,那么访问时间=建立时间,因为不好判断文件是否被改过.读过.其状态是否变过,所以判断文件的建立时间基本上能为不可能.   如何查一个文件…
ref:https://blog.csdn.net/whuslei/article/details/6724900 ubuntu下如何批量修改文件后缀名 正确的方法是: 在命令行中输入   rename   's/\.JPG/.jpg/'    *.JPG [注意] 在单引号中的最后一个'/'符号不能少! 意思是:把当前文件夹下的所有 .JPG文件 替换为 .jpg文件. [此外]在rename的帮助说明中 (输入 man rename) 给出了一个小实例   rename   's/\.bak…
Linux下批量删除空文件(大小等于0的文件)的方法 find . -name "*" -type f -size 0c | xargs -n 1 rm -f 用这个还能够删除指定大小的文件,仅仅要改动相应的 -size 參数即可,比如: find . -name "*" -type f -size 1024c | xargs -n 1 rm -f 就是删除1k大小的文件. (但注意 不要用 -size 1k.这个得到的是占用空间1k,不是文件大小1k的). 假设仅…