如何用 Bash 查找和替换某一文本文件的字符串?

2015-10-31 21:23:47 +08:00
 Chigogo
蓝色的灯速度很快,但是要共享给 iOS 就需要吧 yaml 文件的 127.0.0.1 替换成局域网 ip 地址。

但是手动修改后,会在下一次运行时被重新改成 127.0.0.1 。

如果 chmod 担心无法更新服务器,所以,如何在每次运行时,同时替换 yaml 里面的 127.0.0.1 ?
2098 次点击
所在节点    问与答
5 条回复
adexbn
2015-10-31 21:50:24 +08:00
写个 start.sh
第一行是启动脚本,
第二行是 sed
用这个脚本启动
ETiV
2015-10-31 23:36:39 +08:00
iptables 映射一下呢?公网某端口映射到 127.1 的端口
TheCure
2015-11-01 00:11:36 +08:00
sed -i "s/before/after/g" yaml.txt
izoabr
2015-11-01 01:03:07 +08:00
不知道你原文是什么样得,是域名还是 IP ?如果是域名干脆直接 hosts 固化得了
Chigogo
2015-11-01 13:37:41 +08:00
@callofmx 在 Mac 下 sed 要加一个空串哦~
sed -i "" "s/before/after/g" yaml.txt

看我的:

alias lantern='sed -i "" "s/127.0.0.1/192.168.1.123/g" ~/Library/Application\ Support/Lantern/lantern-2.0.10.yaml; open /Applications/Lantern.app; sleep 6; sudo networksetup -setautoproxystate 'Wi-Fi' off'

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/232568

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX