我的 Ubuntu 服务器上有一个很大的 WordPress SQL 转储文件,大约 7GB。由于我要更改域名,所以我需要替换文件中的域名。我想知道如何通过命令行执行此操作。
dev.example.com
需要替换为
example.com
答案1
您可以使用 sed 进行就地编辑
sed -i -e 's/dev\.example\.com/example\.com/g' filename
答案2
我不知道你的sed
标签有多严格,但有一个通用的方法可以用以下命令替换文件中的字符串:
<script> <file> <old_string> <new_string>
你可以使用下面的小 Python 脚本:
#!/usr/bin/env python3
import sys
file = sys.argv[1]; old_string = sys.argv[2]; new_string = sys.argv[3]
with open(file) as src:
lines = src.read()
print(lines.replace(old_string, new_string))
将脚本复制到一个空文件中,另存为replace.py
使其可执行(无需前缀即可运行python3
),通过以下命令运行它:
/path/to/replace.py /path/to/file dev.example.com example.com
如果 old_string 或 new_string 中有空格,请使用引号:
/path/to/replace.py /path/to/file 'old string with spaces' 'new string with spaces'