linux查找替换命令 linux命令行替换( 二 )


9. sed -i'2,$s/原字符串/替换字符串/g' *.txt
---替换2到最后一行
10. sed's/\x80/|/g'test.dat |iconv -f gbk -t utf-8testutf8.dat
---把test.dat中的欧元符号替换成竖线 , 再将文件gbk格式转成utf8
-i选项是直接在文件中替换,不在终端输出;
-r选项是所给的path中的目录递归查找;
-l选项是输出所有匹配到oldstring的文件;
s/表示替换
/g表示全局替换
linux服务器文本关键字搜索替换1、vi命令下的查找和替换
1.1 vi下的查找
/helloEnter :向下查找hello匹配字符串
?helloEnter:向上查找hello匹配字符串
使用了查找命令之后,使用如下两个键快速查找:
n:按照同一方向继续查找
N:按照反方向查找
hello是需要匹配的字符串,例如:
/nameEnter#查找name
/nameEnter#查找name单词(注意前后的空格)
除此之外,hello还可以使用一些特殊字符 , 包括(/、^、$、*、.) , 其中前三个这两个是vi与vim通用的,“/”为转义字符 。
/^nameEnter#查找以name开始的行
/name$Enter#查找以name结束的行
//^nameEnter#查找^name字符串
1.2 vi下的替换
:s/name/title/#替换当前行第一个 name 为 title
:s/name/title/g#替换当前行所有 name 为 title
:n,$s/name/title/#替换第 n 行开始到最后一行中每一行的第一个 name 为 title
:n,$s/name/title/g#替换第 n 行开始到最后一行中每一行所有 name 为 title
#(n 为数字,若 n 为 .,表示从当前行开始到最后一行)
:%s/name/title/#(等同于 :g/name/s//title/) 替换每一行的第一个 name 为 title
:%s/name/title/g#(等同于 :g/name/s//title/g) 替换每一行中所有 name 为 title
可以使用 #或+ 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#name/#title/#替换当前行第一个 name/ 为 title/
:%s+/oradata/apras/+/user01/apras1+ (
使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/
2.sed和grep配合
命令:sed -i s/yyyy/xxxx/g `grep yyyy -rl --include="*.txt" ./`
作用:将当前目录(包括子目录)中所有txt文件中的yyyy字符串替换为xxxx字符串 。其中,
-i 表示操作的是文件,``括起来的grep命令,表示将grep命令的的结果作为操作文件 。
s/yyyy/xxxx/表示查找yyyy并替换为xxxx , 后面跟g表示一行中有多个yyyy的时候,都替换,而不是仅替换第一个
另外 , 如果不需要查找子目录,仅需要在当前目录替换,用sed命令就行了,命令如下:sed -i s/xxxx/yyyy/g ./*.txt
3.find命令查找和替换
命令格式:find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'
#查找替换当前目录下包含字符串并进行替换
find -name '*.txt' | xargs perl -pi -e 's|江苏|上海|g'
#递归查找替换
find . -type f -name '*.html' | xargs perl -pi -e 's|苏州|上海|g'
【linux查找替换命令 linux命令行替换】linux查找替换命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux命令行替换、linux查找替换命令的信息别忘了在本站进行查找喔 。

推荐阅读