Linux 如何用一个命令编辑文件?
我有一个问题: 如何在不使用编辑器打开文件(例如php.ini)的情况下编辑文件?我只能通过SSH/SOAP使用一个命令,所以我尝试删除该文件并将其写入新文件,但这很慢,效果不好Linux 如何用一个命令编辑文件?,linux,bash,configuration,Linux,Bash,Configuration,我有一个问题: 如何在不使用编辑器打开文件(例如php.ini)的情况下编辑文件?我只能通过SSH/SOAP使用一个命令,所以我尝试删除该文件并将其写入新文件,但这很慢,效果不好 例如,我想用一个命令将此post_max_size=8M编辑为post_max_size=32M。这可能吗?流编辑-也称为“sed”是您的朋友 sed 's/post_max_size = 8M/post_max_size = 32M/' infile > outfile sed -i 's/post_max_
例如,我想用一个命令将此
post_max_size=8M
编辑为post_max_size=32M
。这可能吗?流编辑-也称为“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
使用perl one liner…当然,您可以随意更改下面的一行,以对其进行自定义并使其更具选择性
perl -p -i -e 's/8M/32M/g' file_name
你当然也可以使用GNU
但是,我认为您应该使用一些版本控制系统(比如
git
)。然后,您可以编辑它(在本地Linux笔记本电脑上),并适当地传输它(例如,在本地笔记本电脑上进行git commit
+git push
,在远程主机上进行git pull
。非常感谢!这对于脚本来说是完美的。如果将这些作为ssh命令的一部分使用,请确保在要由远程shell解释的引号/转义/重定向/等周围添加另一层引号/转义(例如ssh)user@computer“sed’s/post_max_size=8M/post_max_size=32M/‘infle>outfile”
)。