linux替换目录下所有文件中的某字符串
比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做:
sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`
解释一下:
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
这个命令组合很强大,要注意备份文件
转自:http://blog.csdn.net/wide288/article/details/22387723
将当前目录下的test文件夹的中
sed -i "s/123qwe/new123asd/g" `grep 123qwe -rl test`
[root@hadoop2 xiaole_chk_url]# cd test/
[root@hadoop2 test]# tree
.
├── 123qwe
├── a.txt
├── b.txt
└── t2
└── er.txt 2 directories, 3 files
[root@hadoop2 test]# vim 123qwe.txt
[root@hadoop2 test]# ll -as
total 28
4 drwxr-xr-x 4 root root 4096 Mar 23 09:22 .
4 drwxr-xr-x 4 root root 4096 Mar 23 09:10 ..
4 drwxr-xr-x 2 root root 4096 Mar 23 09:21 123qwe
4 -rw-r--r-- 1 root root 6 Mar 23 09:22 123qwe.txt
4 -rw-r--r-- 1 root root 17 Mar 23 09:14 a.txt
4 -rw-r--r-- 1 root root 25 Mar 23 09:14 b.txt
4 drwxr-xr-x 2 root root 4096 Mar 23 09:14 t2
[root@hadoop2 test]# cd ..
[root@hadoop2 xiaole_chk_url]# sed -i "s/123qwe/new123asd/g" `grep 123qwe -rl test`
sed: no input files
[root@hadoop2 xiaole_chk_url]# ll -as
total 92472
4 drwxr-xr-x 4 root root 4096 Mar 23 09:10 .
4 drwxr-xr-x 4 root root 4096 Mar 22 10:45 ..
4 -rw-r--r-- 1 root root 39 Mar 22 10:48 a.sh
42712 -rw-r--r-- 1 root root 43733593 Mar 14 13:52 bulk.del.es.json.log
288 -rw-r--r-- 1 root root 290933 Mar 14 17:22 bulk_file
20548 -rw-r--r-- 1 root root 21033520 Mar 14 17:39 bulk_file_sub
28884 -rw-r--r-- 1 root root 29573229 Mar 15 08:52 bulk.index.del.es.json.log
4 -rw-r--r-- 1 root root 1 Mar 15 09:23 bulk.index.del.splitfile.json
4 -rw-r--r-- 1 root root 955 Mar 14 13:52 looh.index.sh
4 -rw-r--r-- 1 root root 258 Mar 15 08:54 looh.index.splitfile.es.sh
4 -rw-r--r-- 1 root root 683 Mar 15 09:22 looh.index.splitfile.sh
4 -rw-r--r-- 1 root root 671 Mar 14 13:52 looh.sh
4 drwxr-xr-x 2 root root 4096 Mar 15 09:38 splitfile
4 drwxr-xr-x 4 root root 4096 Mar 23 09:22 test
[root@hadoop2 xiaole_chk_url]# cd test/
[root@hadoop2 test]# ll -as
total 28
4 drwxr-xr-x 4 root root 4096 Mar 23 09:22 .
4 drwxr-xr-x 4 root root 4096 Mar 23 09:10 ..
4 drwxr-xr-x 2 root root 4096 Mar 23 09:21 123qwe
4 -rw-r--r-- 1 root root 6 Mar 23 09:22 123qwe.txt
4 -rw-r--r-- 1 root root 17 Mar 23 09:14 a.txt
4 -rw-r--r-- 1 root root 25 Mar 23 09:14 b.txt
4 drwxr-xr-x 2 root root 4096 Mar 23 09:14 t2
[root@hadoop2 test]# tree
.
├── 123qwe
├── 123qwe.txt
├── a.txt
├── b.txt
└── t2
└── er.txt 2 directories, 4 files
[root@hadoop2 test]# vim as.txt
[root@hadoop2 test]# ll -as
total 32
4 drwxr-xr-x 4 root root 4096 Mar 23 09:23 .
4 drwxr-xr-x 4 root root 4096 Mar 23 09:10 ..
4 drwxr-xr-x 2 root root 4096 Mar 23 09:21 123qwe
4 -rw-r--r-- 1 root root 6 Mar 23 09:22 123qwe.txt
4 -rw-r--r-- 1 root root 1937 Mar 23 09:23 as.txt
4 -rw-r--r-- 1 root root 17 Mar 23 09:14 a.txt
4 -rw-r--r-- 1 root root 25 Mar 23 09:14 b.txt
4 drwxr-xr-x 2 root root 4096 Mar 23 09:14 t2
[root@hadoop2 test]# cd ..
[root@hadoop2 xiaole_chk_url]# sed -i "s/123qwe/new123asd/g" `grep 123qwe -rl test`
[root@hadoop2 xiaole_chk_url]# cd test/
[root@hadoop2 test]# tree
.
├── 123qwe
├── 123qwe.txt
├── as.txt
├── a.txt
├── b.txt
└── t2
└── er.txt 2 directories, 5 files
[root@hadoop2 test]#
注意:
只修改文件中的文件内容的字符串,不修改文件名、文件夹名
linux替换目录下所有文件中的某字符串的更多相关文章
- Linux查找和替换目录下所有文件中字符串(转载)
转自:http://rubyer.me/blog/1613/ 单个文件中查找替换很简单,就不说了.文件夹下所有文件中字符串的查找替换就要记忆了,最近部署几十台linux服务器,记录下总结. 查找文件夹 ...
- [转帖]linux /proc目录下的文件为何无法用vi编辑保存
linux /proc目录下的文件为何无法用vi编辑保存 https://blog.51cto.com/xlogin/1216914 学习一下 之前看过书 这一点 没太仔细看.. xlogin关注8人 ...
- linux 查找目录下的文件内容并替换(批量)
2.sed和grep配合 命令:sed -i s/yyyy/xxxx/g `grep yyyy -rl --include="*.txt" ./` 作用:将当前目录(包括子目录)中 ...
- linux查看目录下所有文件内容中是否包含某个字符串
转发自:http://blog.csdn.net/yimingsilence/article/details/76071949 查找目录下的所有文件中是否含有某个字符串 find .|xargs gr ...
- tcl/tk实例详解——修改目录下所有文件(使用一个字符串代替另外一个)
#假设目录下全部都是普通文件,如果目录下还有子目录请#参考文章"读取文件夹下所有文件返回路径",#http://blog.csdn.net/dulixin/archive/2008 ...
- linux 替换目录下文件所有关键字
for i in *;do sed -ie 's/_test2/_test3/g' $i; sed -ie 's/_type2/_type3/g' $i; done 539down voteaccep ...
- linux /boot目录下的文件分析
一. Linux 启动流程 首先说一下Linux系统大概的启动过程: 1. 主机加电后, 系统首先加载BIOS, 这个BIOS是以写在主板上的. 2. BIOS启动后,执行一些例如开机自检,硬件初始化 ...
- Linux查看当前目录下所有文件中包含map的行记录
find yaochi_e.prm |xargs grep -ri "map" grep -n "map" *.prm|grep -v "\-\-ma ...
- linux在目录下查字符串, 查文件数目
在目录下所有文件中查找某个字符串(递归查) grep -rnl '字符串' 目录名 统计一个文件夹下目录数或文件数, 如下分步讲解: 1. 显示目录下内容: ls -l ...
随机推荐
- os下,vs code 自动编译ts
nodejs安装ts npm install -g typescript 进入工程目录,用命令初始化ts(生成tsconfig.json) tsc --init 如果要指定生成目录,打开tsconfi ...
- ThinkPHP---拓展之jQuery的ajax
[前言] 用Sublime开发时,推荐下载一个jQuery插件,可以智能化创建基本函数格式,支持自动生成,可以提高开发效率 (1)jQuery里ajax方法有几个? 答:有4个,分别为post.get ...
- Manacher算法(马拉车算法)浅谈
什么是Manacher算法? 转载自百度百科 Manachar算法主要是处理字符串中关于回文串的问题的,它可以在 O(n) 的时间处理出以字符串中每一个字符为中心的回文串半径,由于将原字符串处理成两倍 ...
- 这几道Java集合框架面试题在面试中几乎必问
Arraylist 与 LinkedList 异同 1. 是否保证线程安全: ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全: 2. 底层数据结构: Arraylis ...
- 微信小程序中如何实现分页下拉加载?(附源码)
转眼间坚持写教你微信小程序系列已经有十节系列课程了,每天的工作压力繁重,小女子也不知道自己还能坚持这样的系列教程多久.只希望每篇教程真的对大家有帮助.这节课我们要介绍的就是如何实现分页的下拉加载,我们 ...
- 教你如何使用Python写游戏辅助脚本
主要实现方式是通过图片的对比,在游戏中就行点击.运行程序需要以下东西. PIL: 图片处理模块 (python3 换成了 pillow) 下载地址: https://www.lfd.uci. ...
- python基础学习 str,list,dict,set,range,enumerate
一.字符串 s = 'python' s1 = 'python' + 'learn' #相加其实就是简单拼接 s2 = 'python' * 5 #相乘其实就是复制自己多少次,再拼接在一起 字符串切片 ...
- PAT 1129 Recommendation System
Recommendation system predicts the preference that a user would give to an item. Now you are asked t ...
- PM2 & chmod +x
PM2 https://www.npmjs.com/package/pm2 https://github.com/Unitech/pm2 docs https://pm2.io/doc/en/runt ...
- windows server 2008R2 上安装配置freesshd
从FREESSHD官方网站下载最新的软件版本,下载地址是http://www.freesshd.com/?ctt=download 双击刚刚下载的freeSSHd.exe进行安装,安装时其他都是默认安 ...