linux在文件夹中查找文件包含的字符串,并进行相应的替换

来源:互联网 发布:阳煤集团知乎 编辑:程序博客网 时间:2024/05/22 11:47

linux在文件夹中查找文件包含的字符串,并进行相应的替换  

2012-01-12 15:32:35|  分类:debian linux |举报|字号 订阅

  下载LOFTER我的照片书  |

说明如下:要在一个目录中,查找所有文件中包含的字符串AAA,找出文件,并用BBB进行替换掉。

#grep -r AAA ./                                 #表示在当前目录中递归查找包含AAA的文件。

#grep -rl AAA ./                                #只列出包含AAA字符串的文件名字。

#sed -i   's/AAA/BBB/g' filename                                   #针对一个文件作替换的命令: sed -i 's/AAA/BBB/g' filename.

sed -i 's/AAA/BBB/g' `grep -l AAA ./`(注意这里的``号,为~下边的那个符号)

若要使用vi进行单个文件的替换可用如下命令:

:1,$s/AAA/BBB/g                 #AAA是要替换掉的字符串用BBB来替换,1,代表从第一行起,g表示到最后。

 


1. set命令可以显示出当前shell下所有全局参量定义及其值;
2. 查找并删除当前目录下小文件:
find . -type f -size -10k -exec rm {} \;
说明:
-type f 查找文件
-size -10k,
小于10k的。"+"是表示要求系统只列出大于指定大小的文件,而使用"-"则表示要求系统列出小于指定大小的文件。
3. 遍历文件夹grep一个字符串
find . -name "*c" | xargs grep "strings"

在当前文件夹下所有c文件中查找字符串“string”

4. 在某目录下文件中查找某字符串
grep -r youcode dir
例如:查找home下文件中查找hello
grep -r hello /home

例如:在当前所有目录下文件中查找hello,不区分大小写
grep -ir hello .

阅读全文
0 0
原创粉丝点击