【发布时间】:2013-02-10 00:14:36
【问题描述】:
我有一个问题:
如何在不使用编辑器打开文件的情况下编辑文件(例如 php.ini)?我只能通过 SSH/SOAP 使用一个命令,所以我尝试删除文件并将其写入新文件,但这很慢并且效果不佳。
例如,我想用一个命令将这个post_max_size = 8M 编辑为post_max_size = 32M。这可能吗?
【问题讨论】:
标签: linux bash configuration
我有一个问题:
如何在不使用编辑器打开文件的情况下编辑文件(例如 php.ini)?我只能通过 SSH/SOAP 使用一个命令,所以我尝试删除文件并将其写入新文件,但这很慢并且效果不佳。
例如,我想用一个命令将这个post_max_size = 8M 编辑为post_max_size = 32M。这可能吗?
【问题讨论】:
标签: linux bash configuration
流编辑 - 也称为“sed”是您的朋友。
sed 's/post_max_size = 8M/post_max_size = 32M/' infile > outfile
sed -i 's/post_max_size = 8M/post_max_size = 32M/' inplace_file
【讨论】:
你当然也可以使用 GNU ed。
但是,我认为您应该使用一些版本控制系统(例如git)。然后你可以编辑它(在你的本地 Linux 笔记本电脑上),并适当地传输它(例如,git commit + git push 在本地笔记本电脑上,git pull 在远程主机上)。
【讨论】:
使用 perl one liner...当然可以随意更改以下行以对其进行自定义并使其更具选择性。
perl -p -i -e 's/8M/32M/g' file_name
【讨论】: