linux命令行批量替换多文件中的字符串

上传人:wm****3 文档编号:43439097 上传时间:2018-06-06 格式:DOC 页数:8 大小:16.24KB
返回 下载 相关 举报
linux命令行批量替换多文件中的字符串_第1页
第1页 / 共8页
linux命令行批量替换多文件中的字符串_第2页
第2页 / 共8页
linux命令行批量替换多文件中的字符串_第3页
第3页 / 共8页
linux命令行批量替换多文件中的字符串_第4页
第4页 / 共8页
linux命令行批量替换多文件中的字符串_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《linux命令行批量替换多文件中的字符串》由会员分享,可在线阅读,更多相关《linux命令行批量替换多文件中的字符串(8页珍藏版)》请在金锄头文库上搜索。

1、LinuxLinux 命令行批量替换多文件中的字符串命令行批量替换多文件中的字符串现在网上这样的方法只有两种,一种是 Mahuinan 法,一种是 Sumly法,一种是 30T 法分别如下: 一、Mahuinan 法: 用 sed 命令可以批量替换多个文件中的字符串。sed -i “s/原字符串/新字符串/g“ grep 原字符串 -rl 所在目录 例如:我要把 mahuinan 替换为 huinanma, 执行命令:sed -i “s/mahuinan/huinanma/g“ grep mahuinan -rl /www 这是目前 linux 最简单的批量替换字符串命令了! 具体格式如下:

2、sed -i “s/oldString/newString/g“ grep oldString -rl /path 实例代码: sed -i “s/大小多少/日月水火/g“ grep 大小多少 -rl /usr/aa sed -i “s/大小多少/日月水火/g“ grep 大小多少 -rl ./ 二、Sumly 法 执行命令: perl -p -i -e “s/China/Sumly/g“ /www/*.htm /www/*.txt 上面的意思是说将 www 文件夹下所有的 htm 和 txt 文件中的“China”都替换为“Sumly”三、30T 法执行命令:perl -pi -e s|ba

3、idu|30T|g find /www -type f上面的意思是说将 www 文件夹下所有文件,不分扩展名,所有的“baidu”都替换为“30T”Linux 批量替换文件内容命令时间:2010-04-08 22:14:02 类别:技术 访问:351 views RSS 2.0 评论 # find -name *.php |xargs perl -pi -e s|||g;以上表示:在当前目录及子目录下搜索所有后缀为 .php 的文件,并且将 字符串 替换成 也可以使用 sed 命令,如下:# sed -i “s/ grep -rl ./最近工作用到批量替换的命令(linux)2010 年

4、5 月 9 日 阅读:559 发表于 : 日志 发表评论 批量替换文件名 a 文件:find -name a.php -exec cp /a.php -f ;批量拷贝file.php 到目录名为 B 的文件夹:find -name B -type d -exec cp /file.php -f ;高级用法加perl,批量替换文件名为 file.php 的文件里面的某些内容:find -name file.php | xargs perl -pi -e “s|原内容|要替换的内容|g“批量删除文件名为 file.php 的文件夹:find -name file.php | xargs rm -r

5、ffind 命令详解:find 命令用于在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。语法:find 起始目录 寻找条件 操作说明:find 命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。 该命令提供的寻找条件可以是一个用逻辑运算符 not、and、or 组成的复合条件。逻辑运 算符 and、or、not 的含义为:(1) and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条 件都满足时,寻找条件才算满足。例如:find name tmp xtype c -user inin% 该命令寻

6、找三个给定条件都满足的所有文件(2) or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足 时,寻找条件就算满足。例如:find name tmp o name mina*% 该命令查询文件名为tmp或是匹配mina*的所有文件。(3) not:逻辑非,在命令中用“!”表示。该运算符表示查找不满足所给条件的文件 。例如:find ! name tmp% 该命令查询文件名不是tmp的所有文件。需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免 Shell 本身对括号引起误解,在话号前需要加转义字符“”来去除括号的意义。例:find (name tm

7、p xtype c -user inin )该命令的各选项含义如下:首先,下列各个选项中的 n 值可以有三种输入方式,假设 n 为20,则:+20 表示 20 以后(21,22,23 等)-20 表示 20 以前(19,18,17 等)20 表示正好是 20以名称和文件属性查找。-name 字串 查找文件名匹配所给字串的所有文件,字串内可用通配符 *、?、 。-lname 字串 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符 *、?、 。-gid n 查找属于 ID 号为 n 的用户组的所有文件。-uid n 查找属于 ID 号为 n 的用户的所有文件。-group 字串 查找属于

8、用户组名为所给字串的所有的文件。-user 字串 查找属于用户名为所给字串的所有的文件。-empty 查找大小为 0 的目录或文件。-path 字串 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、 。-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711,644。-size nbckw 查找指定文件大小的文件,n 后面的字符表示单位,缺省为 b,代表 512 字节的块。-type x 查找类型为 x 的文件,x 为下列字符之一:b 块设备文件c 字符设备文件d 目录文件p 命名管道(FIFO)f 普通文件l 符号链接文件(symbolic links)s socke

9、t 文件-xtype x 与 -type 基本相同,但只查找符号链接文件。以时间为条件查找-amin n 查找 n 分钟以前被访问过的所有文件。-atime n 查找 n 天以前被访问过的所有文件。-cmin n 查找 n 分钟以前文件状态被修改过的所有文件。-ctime n 查找 n 天以前文件状态被修改过的所有文件。-mmin n 查找 n 分钟以前文件内容被修改过的所有文件。-mtime n 查找 n 天以前文件内容被修改过的所有文件。可执行的操作-exec 命令名称 对符合条件的文件执行所给的 Linux 命令,而不询问用户是否需要执行该命令。表示命令的参数即为所找到的文件;命令的末尾

10、必须以“ ;”结束。-ok 命令名称 对符合条件的文件执行所给的 Linux 命令,与exec 不同的是,它会询问用户是否需要执行该命令。-ls 详细列出所找到的所有文件。-fprintf 文件名 将找到的文件名写入指定文件。-print 在标准输出设备上显示查找出的文件名。-printf 格式 格式的写法请参考有关 C 语言的书。find 命令指令实例:find . name main* exec more ;% 查找当前目录中所有以 main 开头的文件,并显示这些文件的内容。find . (- name a.out o name *.o) atime +7 exec rm ;% 删除当前

11、目录下所有一周之内没有被访问过的 a .out 或*.o 文件。% 命令中的“.”表示当前目录,此时 find 将从当前目录开始,逐个在其子目录中查找满足后面指定条件的文件。% “(” 和 “)” 表示括号() ,其中的 “” 称为转义符。之所以这样写是由于对 Shell 而言, (和)另有不同的含义,而不是这里的用于组合条件的用途。% “-name a.out” 是指要查找名为 a.out 的文件;% “-name *.o ” 是指要查找所有名字以 .o 结尾的文件。这两个 -name 之间的 -o 表示逻辑或(or) ,即查找名字为 a.out或名字以 .o 结尾的文件。% find 命令在当前目录及其子目录下找到这佯的文件之后,再进行判断,看其最后访问时间 是否在 7 天以前(条件 -atime +7) ,若是,则对该文件执行命令 rm(-exec rm ;) 。其中 代表当前查到的符合条件的文件名,;则是语法所要求的。% 上述命令中第一行的最后一个 是续行符。当命令太长而在一行写不下时,可输入一个 ,之后系统将显示一个 ,指示用户继续输入命令。上是目录结构中搜索文件 find 命令的详解,希望对您有所帮助。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号