查找与替换
1. 替换
:s/str1/str2/
替换当前行 第一个
str1 为 str2
:s/str1/str2/g
替换 当前行
所有str1为str2
:n,$s/str1/str2/
替换第 n 行开始到最后一行中每一行的第一个str1为str2
:n,$s/str1/str2/g
替换第 n 行开始到最后一行中每一行所有str1为str2(n 为数字,若 n 为 .,表示从当前行开始到最后一行)
:%s/str1/str2/ (效果同 :g/str1/s//str2/)
替换每一行的第一个str1为str2
:%s/str1/str2/g (效果同 :g/str1/s//str2/g)
替换每一行中所有str1为str2
g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g
放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。
2. 查找
查找的命令主要有find和grep。
区别:
(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。
(2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。
find 基本格式: find 路径 表达式
1.按照文件名查找
(1)find / -name httpd.conf #在根目录下查找文件httpd.conf,表示在整个硬盘查找
(2)find /etc -name httpd.conf #在/etc目录下文件httpd.conf
(3)find /etc -name '*srm*' #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
(4)find . -name 'srm*' #表示当前目录下查找文件名开头是字符串‘srm’的文件
2.按照文件特征查找
(1)find / -amin -10 # 查找在系统中最后10分钟访问的文件(access time)
(2)find / -atime -2 # 查找在系统中最后48小时访问的文件
(3)find / -empty # 查找在系统中为空的文件或者文件夹
(4)find / -group cat # 查找在系统中属于 group为cat的文件
(5)find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件(modify time)
(6)find / -mtime -1 #查找在系统中最后24小时里修改过的文件
(7)find / -user fred #查找在系统中属于fred这个用户的文件
(8)find / -size +10000c #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
(9)find / -size -1000k #查找出小于1000KB的文件