返回列表 回复 发帖

替换文件内容的命令

大家好
我现在从源服务器上直接复制了一个应用到目标服务器,但是有很多文件需要修改文件内容中的ip地址
用什么方法可以实现?
比如:需要修改的文件名都叫“abc”放在不同的路径下,有很多
我先用find ./ -name abc 查找所有文件路径 比如其中一个放在/1/2/abc
再用tr '127.0.0.1' '128.0.0.1'  </1/2/abc 想将127.0.0.1替换为128.0.0.1

但是没有效果,这是什么原因?


谢谢
不是很了解你的不成功会不会报错,我做了个实验是没有问题的,不知道你的/1/2/是不是完整的路径,要不是完整的路径应该会报-bash: /source/testrt: No such file or directory的错误,我的实验是
[ambious@ambious source]$more testrt
ambious
test
343
uuxxxx
[ambious@ambious source]$tr 'test' '12345' </source/testrt
-bash: /source/testrt: No such file or directory
[ambious@ambious source]$tr 'test' '123456' </export/home/source/testrt
ambiou3
4234
343
uuxxxx
可是你可以完全用sed来实现啊,sed是可以完全实现tr的所有的功能的。
建议使用如下RE
[ambious@ambious source]$sed s/test/1234/g <testrt
ambious
1234
343
uuxxxx
结果是不是你想要的?
可以把结果直接输出到一个文件就ok
unix系统下会不会存在某些文件,使用tr命令无法正常读取内容的?
就像windows下的非文本文件?

谢谢
返回列表