Linux下批量替换文件中的字符 - sed (stream editor)


Linux 下面,我们如果需要批量替换很多文件中的相同字符, 可以使用sed 命令 。

比如下面的, 更改指定目录下的所有文件的字符串, 将 sqlplus 替换为 /u01/product/Oracle/bin/sqlplus

因为含有特殊字符, 所以使用 \  来处理 。

sed    -i     's/sqlplus/\/u01\/product\/oracle\/bin\/sqlplus/g'      *.*

其中 -i  表示直接修改文件, 一般为了保险起见, 可以不使用 -i ,  将修改的文件追加到 tmp文件 比如

sed     's/sqlplus/\/u01\/product\/oracle\/bin\/sqlplus/g'      aa.sql   >  tmp.sql

再比如 , 将 ss.sql 文件中的 awr 替换为 addm

sed   -i     's/awr/addm/g'   ss.sql

相关内容