您好,欢迎来到分类目录网!本站提供网站免费收录和快审收录
广告联系QQ:158925126当前位置:分类目录网 » 站长资讯 » 技术教程 » 文章详细 订阅RssFeed

linux文件内容查找和替换命令

来源:本站原创 浏览:35次 时间:2018-07-09

很多新手在开始接触使用linux,总会有各种不习惯,比如遇到一个文件内容测查找和替换的需求,要怎么解决呢,可以学习参考下以下的实现方式:

1、vi命令下的查找和替换

1.1 vi下的查找

/pattern<Enter> :向下查找pattern匹配字符串

?pattern<Enter>:向上查找pattern匹配字符串
使用了查找命令之后,使用如下两个键快速查找:
n:按照同一方向继续查找
N:按照反方向查找
pattern是需要匹配的字符串,例如:
/name<Enter>      #查找name
/name<Enter>    #查找name单词(注意前后的空格)
除此之外,pattern还可以使用一些特殊字符,包括(/、^、$、*、.),其中前三个这两个是vi与vim通用的,“/”为转义字符。
/^name<Enter>    #查找以name开始的行
/name$<Enter>    #查找以name结束的行
//^name<Enter>    #查找^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'

推荐站点

  • 站酷 (ZCOOL)站酷 (ZCOOL)

    站酷 (ZCOOL),中国人气设计师互动平台。深耕设计领域十年,站酷聚集了470万优秀设计师、摄影师、插画师、艺术家、创意人,设计创意群体中具有较高的影响力与号召力。

    www.zcool.com.cn
  • 菜鸟教程菜鸟教程

    菜鸟教程(www.runoob.com)提供了最全的编程技术基础教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程。..

    www.runoob.com
  • 每日财经网每日财经网

    每日财经网是中国财经综合网站,包括最新经济行情、最全基金投资理财产品、今天股市行情、财经郎眼、产业经济商业模式。(每日财经网www.mrcjcn.com)

    www.mrcjcn.com
  • 今日头条今日头条

    《今日头条》(www.toutiao.com)是一款基于数据挖掘的推荐引擎产品,它为用户推荐有价值的、个性化的信息,提供连接人与信息的新型服务,是国内移动互联网领域成长最快的产品服务之一。

    www.toutiao.com
  • 企业稿网企业稿网

    企业稿网是一个免费的开放的企业宣传推广平台,提供企业稿件资讯发布,观点信息交流,企业品牌宣传推广等企业相关的服务。

    www.qiyegao.com