linux 批量修改文件内容

本文介绍如何使用grep和sed命令进行批量文件内容查找及替换的方法。通过具体示例展示了如何定位特定文本,并实现批量替换操作,适用于修复由病毒引起的脚本修改等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果有批量修改文件内容的需求,可参考下面这些方法

1.批量查找某个目下文件的包含的内容,例如:

#   grep -rn或l "要找查找的文本"  路径或文件

rn表示匹配查找字符串的内容显示出来 和行号

rl 表示匹配查找字符串的文件名全部显示出来

比如

grep  -rn "aaa" /usr/local/


表示 /use/local 目录下 所有匹配"aaa" 的字符串和行号

grep  -rl "aaa" /usr/local/
表示 /use/local 目录下 所有匹配"aaa" 的文件名

2.批量查找并替换文件内容。

#   sed -i "s/要找查找的文本/替换后的文本/g" `grep -rl "要找查找的文本" ./` 

注意grep  · · 和转移字符"和/,  如果匹配的字符出现了以上字串,要用 \ 转移 

例如替换 被病毒修改的一段脚本:

sed -i "s/<script type=\"text\/javascript\" src='http:\/\/t.cn\/RhyQ1GN'><\/script>//g" `grep -rl "<script type=\"text\/javascript\" src='http:\/\/t.cn\/RhyQ1GN'><\/script>" ./`

是在use/local/model/html 目录下所有的文件中 匹配<script src="http://192.168.1.6/www/js/test.js"></script>  字符串 制空或者删除
sed -i "s/<script src=\"http:\/\/192.168.1.6\/www\/js\/testjs\"><\/script>//g" `grep "<script src=\"http:\/\/192.168.1.6\/www\/js\/test.js\"><\/script>" -rl /usr/local/model/html/`

可以使用sed命令来批量修改文件内容。 语法格式: ``` sed 's/old-text/new-text/g' file1 > file2 ``` 其中,'s'表示替换,'old-text'是要被替换的字符串,'new-text'是替换成的字符串,'g'表示全局替换,file1是要修改文件,file2是修改后的文件。 例如,要将文件test.txt中所有的'old'替换成'new',可以使用如下命令: ``` sed 's/old/new/g' test.txt > test_new.txt ``` 另外,也可以使用find + xargs + sed的方式批量修改文件中的文本内容 ``` find /path/to/dir -name "*.txt" -print0 | xargs -0 sed -i 's可以使用 `sed` 命令来批量修改文件内容。 例如,要将所有文件中的 "old" 替换为 "new",可以使用命令: ``` sed -i 's/old/new/g' * ``` 该命令会在当前目录中的所有文件中替换 "old" 为 "new"。 -i 参数表示直接修改文件内容,而不是输出到标准输出。 s/old/new/g表示替换 old 为 new,g 表示全局替换. 需要注意的是,如果文件中的内容中包含 '/' 符号,则需要使用其他字符来替代 /。 如果文件很多,可以使用 find 命令来批量修改文件内容. ``` find /path/to/dir -type f -exec sed -i 's/old/new/g' {} + ``` 该命令会在/path/to/dir目录可以使用sed命令进行批量修改文件内容。例如,在当前目录下批量替换文件中的"old"为"new",可以使用以下命令: ``` sed -i 's/old/new/g' * ``` 该命令会在所有文件中查找并替换"old"为"new"。 -i 选项表示直接修改文件内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值