linux查找并替换
⑴ linux查找和替换目录下所有文件中字符串
linux查找和替换目录下所有文件中字符串单个文件中查找替换很简单,就不说了。文件夹下所有文件中字符串的查找替换就要记忆了,最近部署几十台linux服务器,记录下总结。查找文件夹下包含字符串的文件例:查找/usr/local目录下所有包含rubyer.me的文件。1
grep
-lr
'rubyer.me'
/usr/local/*vim替换单个文件中所有字符串方法例:替换当前文件中所有old为new
www.shiwu.com
1
:%s/old/new/g2#%表示替换说有行,g表示替换一行中所有匹配点。
替换文件夹下包含字符串的文件sed结合grep例:要将目录/www下面所有文件中的zhangsan都修改成lisi,这样做:1
sed
-i
s/old/new/g
`grep
old
-rl
/www`作者
skq
⑵ Linux下查找替换的正则怎么写求教
root@qfgz:~/xly# cat 1
1
2
<SCRIPT adlfbhalsdf
ads
asd
fas
dflajsdhfgblahsdfb
asd-- a-sd-asd-- SCRITP>
3
4
root@qfgz:~/xly# sed "/<SCRIPT/,/SCRITP>/d" 1
1
2
3
4
⑶ linux系统替换文件怎么替换
摘要 您好,您的问题我已经看到了,正在整理答案,请稍等一会儿哦~
⑷ linux shell 搜索某目录下(包含子目录)的所有a.txt文件并将其替换为b.txt
find
.
-name
a.txt
-exec
mv
{}
b.txt
\;
其中find后面的"."表示从当前目录开始查找(含子目录),注意最后的“\;"是需要的。
⑸ linux下文本查找替换问题
一个文件包含行 "id": "abcd.123" —— 假设该文件为 file1.txt
另一个文件包含行 Package: test —— 假设该文件为 file2.txt
脚本如下:
#!/bin/bash
id=`sed 's/.*\"id\":\"\(.*\)\"/\1/' file1.txt`
sed "s/\(Package: \)test/\1$id/" file2.txt >result.txt
exit 0
结果保存到 result.txt 中。
如果要直接修改到 file2.txt 中而不用重定向的话,请使用 sed 的 -i 选项。
⑹ 总结linux替换字符串的几种方法
一)通过vi编辑器来替换。
vi/vim 中可以使用 :s 命令来替换字符串。
:s/well/good/ 替换当前行第一个 well 为 good
:s/well/good/g 替换当前行所有 well 为 good
:n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good
:n,$s/well/good/g 替换第 n 行开始到最后一行中每一行所有 well 为 good
n 为数字,若 n 为 .,表示从当前行开始到最后一行
:%s/well/good/(等同于 :g/well/s//good/) 替换每一行的第一个 well 为 good
:%s/well/good/g(等同于 :g/well/s//good/g) 替换每一行中所有 well 为 good
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#well/#good/# 替换当前行第一个 well/ 为 good/
:%s#/usr/bin#/bin#g 可以把文件中所有路径/usr/bin换成/bin
(二)直接替换文件中的字符串。(此法不用打开文件即可替换字符串,而且可以批量替换多个文件。)
1.perl命令替换,参数含义如下:
-a 自动分隔模式,用空格分隔$_并保存到@F中。相当于@F = split ”。分隔符可以使用-F参数指定
-F 指定-a的分隔符,可以使用正则表达式
-e 执行指定的脚本。
-i<扩展名> 原地替换文件,并将旧文件用指定的扩展名备份。不指定扩展名则不备份。
-l 对输入内容自动chomp,对输出内容自动添加换行
-n 自动循环,相当于 while(<>) { 脚本; }
-p 自动循环+自动输出,相当于 while(<>) { 脚本; print; }
用法示例:
perl -p -i.bak -e 's/foo/bar/g' *.c
将所有C程序中的foo替换成bar,旧文件备份成.bak
perl -p -i -e "s/shan/hua/g" ./lishan.txt ./lishan.txt.bak
将当前文件夹下lishan.txt和lishan.txt.bak中的“shan”都替换为“hua”
perl -i.bak -pe 's/(d+)/ 1 + $1 /ge' file1 file2
将每个文件中出现的数值都加一
2.sed命令下批量替换文件内容
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 文件名
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
s表示替换,d表示删除
示例:sed -i "s/shan/hua/g" lishan.txt
把当前目录下lishan.txt里的shan都替换为hua 各个Linux详细命令介绍及应用可如下进行查找
⑺ linux怎么查找文件中的字符串替换
你好,
grep -rnl '要搜索的字符串' *
*表示当前目录的所有文件和子文件夹,可以替换为某个文件夹名或者指定的文件名
-r 表示递归查找
-n 表示不显示匹配所在的行号
-l 表示只输出文件名
⑻ Linux下的shell编程 如何替换文件中的内容
可以这样做:
方法1:sed -i 's/被替换的内容/要替换成的内容/' file
方法2:sed 's/被替换的内容/要替换成的内容/g' file > file.out;mv file.out file。
(8)linux查找并替换扩展阅读:
Shell编程的常用技巧:
一、自动补齐:在linux中对于命令或路径,可以TAB键进行自动补全,以下事项需要注意:
1、只存在一个该输入字符开头的命令或路径,此时自动补全;
2、存在多个该输入字符开头的命令或路径,此时第一次点击TAB键无效,此时再次点击TAB会罗列出所有该字符开头的命令或路径,继续输入直到仅仅剩一个时自动补全;
3、如果命令已经是完整的,TAB键则是本来的移动功能;而路径的话要看命令自身的行为决定后续动作。
二、历史命令
1、history命令可以显示历史执行过的命令;
2、使用!+序号执行该序号对应的命令;
3、使用!+字符执行该字符开头的最后一次执行的指令。
三、命令别名
1、实现别名:alias ddd="df -Th";
2、删除别名:unalias ddd;
3、显示所有别名命令列表:alias;
4、存放位置:~/.bashrc (加入该文件后,重启后不会消失)。
四、重定向
1、重定向标准输入:< 命令接收输入的途径由键盘改为文件;
2、重定向标准输出:> 将命令的执行结果输出到指定文件,而不是直接显示到屏幕;
3、重定向标准输出:>> 将命令的执行结果追加输出到指定文件;
4、重定向标准错误:2> 清除指定文件的内容,并把标准错误信息保存到指定文件;
5、重定向标准错误:2>> 标准错误信息追加到指定文件;
6、重定向标准输出和标准错误:&> 将标准输出、标准错误信息全部保存到指定文件,而不是直接显示在屏幕上。
⑼ 在red hat enter linux中用怎么替换字符串
sed。在linux中可以利用sed命令来查找和替换文件中的字符串,该命令采用的是流编辑模式,可以根据正则表达式匹配和处理文本文件中的数据,替换语法为“sed”s/要搜索的字符串或正则表达式/替换值/g'要执行操作的文件名”。