日期:2014-05-16  浏览次数:20867 次

sed命令 linux下的超强查找和替换命令

在维护magento的数据库 由于想修改部分数据 但是面对几百Msql文件 没有好的工具是不行的 把他下载到本地拿editplus编辑进行查找替换不行 会因为文件太大会出错, 这时sed就能解决这个问题

?? sed是一个非常强大与实用的工具,在这里,我们只用到sed很有限的功能。如果你觉得这些非常有趣,我强烈推荐你阅读关于sed更多的功能,比如说man page

我们将要用下面这个语法来在一个文件中查找并替换字符串

# sed -i ’s/[orginal_text]/[new_text]/’ filename.txt

比如你有一个叫做database.txt文件,里面大量的存放了的数据库服务器IP地址。现在你刚刚更换了数据库服务器,需要更新这个文件里面的IP地址。旧IP地址是202.97.1.16,新的IP202.97.1.22。你只需要按下面简单的几个步骤:

# cat database.txt
LOCAL_DATABASE = 202.97.1.16

LOCAL_DIR = /home/calvin/
PROD_DB = 202.97.1.16
# sed -i ’s/202.97.1.16/202.97.1.22/g’ database.txt
# cat database.txt
LOCAL_DATABASE = 202.97.1.22
LOCAL_DIR = /home/calvin/
PROD_DB = 202.97.1.22

现在你可以打开