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 / o l d / n e w / 替 换 第 n 行 开 始 到 最 后 一 行 中 每 一 行 的 第 一 个 o l d 为 n e w ( 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输出到标准屏幕
find查找和替换
find "file"|xargs perl -pi -e 's|old|new|g' 将当前目录中的file文件中的所有old替换为new