vi命令下的查找和替换
-
vi下的查找
/pattern:向下查找
?pattern:向上查找
n:继续向同一方向查找
N:继续向相反方向发展
/^name:查找以name开始的行
/name$:查找以name结束的行
//^name:查找^name字符串 -
vi下的替换
:s/old/new/ 替换当前行第一个old为new
:s/old/new/g 替换当前行所有old未new
:n,s/old/new/替换第n行开始到最后一行中每一行的第一个old为new(n为.表示当前行开始):n,s/old/new/替换第n行开始到最后一行中每一行的第一个old为new(n为.表示当前行开始):n,s/old/new/g 替换第n行开始到最后一行中每一行的所有old为new(n为.表示当前行开始)
:%s/old/new/ 替换每一行的第一个old为new
:%s/old/new/g 替换每一行的所有old为new
可以使用 #或+ 作为分隔符,此时中间出现的 / 不会作为分隔符 eg: :s#old/#new/ 替换当前行第一个old/为new/
sed替换
sed -i 's/old/new/g' file 将当前目录中的file文件中的所有old替换为new输出到标准屏幕
- 1
find查找和替换
find "file"|xargs perl -pi -e 's|old|new|g' 将当前目录中的file文件中的所有old替换为new