当前位置: 首页 > 知识库问答 >
问题:

Sed似乎可以工作,但文件没有更改[重复]

华佐
2023-03-14

因此,正如一个人在之前的帖子中所说的,我会使用:

sed -e 's/PermitTunnel.*$/PermitTunnel point-to-point/g'

包括行末的“我的文件”。

由于未使用-n,我想我应该在标准输出中接收操作的结果。然后执行它并获得(注意,我使用-2-而不是-to-只是为了查看是否可以根据需要修改文件,因为在本例中,文件已经有了所需的行):

root@debian:/home/dit# sed -e 's/PermitTunnel.*$/PermitTunnel point-2-point/g'/etc/sysctl.conf 
PermitTunnel point-2-point
root@debian:/home/dit# cat /etc/sysctl.conf | grep PermitTunnel
PermitTunnel point-to-point

所以如您所见,文件没有更改。我做错了什么?

感谢阅读

共有1个答案

宗政坚白
2023-03-14

命令将sysctl.conf作为输入,stdout作为输出。您必须使用-i选项来替换“in place”

sed -i -e 's/PermitTunnel.*$/PermitTunnel point-2-point/g'/etc/sysctl.conf 

还可以为备份文件指定后缀:

sed -i.bak -e 's/PermitTunnel.*$/PermitTunnel point-2-point/g'/etc/sysctl.conf 

来自男子sed:

-i[SUFFIX], --in-place[=SUFFIX]
     edit files in place (makes backup if extension supplied)
sed -e 's/PermitTunnel.*$/PermitTunnel point-2-point/g'/etc/sysctl.conf > /etc/sysctl.conf.new
 类似资料:
  • WebFlux、反应式和处理程序的新功能。 我能得到单声道 任何对Account tRequest estHandler中代码的帮助/输入都将不胜感激,尤其是解释建议更改背后的基本原理。 路由器实现(分解为仅“POST”)。。。 处理程序实现...我真正做添加的代码,然后单独创建一个服务器响应,是我关注的。它看起来“笨拙”,尤其是因为AccountService.addAccount()在完成时返

  • 问题内容: 已解决:问题是Wingware Python IDE。我想现在自然而然的问题是,这是怎么可能的以及如何解决。 昨天我问了一个问题Python中的multiprocessing.Pool问题,这个问题几乎相同,但是我发现它似乎可以在Windows计算机上运行,​​而不能在我的Ubuntu上运行。在本文的结尾,我将发布执行相同功能的代码的稍有不同的版本。 我的问题的简短摘要:在Python

  • 我正在运行具有以下配置的Web服务器: Ubuntu 14.04 PHP 5.5.9 PHP-FPM Nginx 当我在Symfony应用程序中上传文件时,我收到错误

  • 我对python还很陌生,我正在尝试创建21点。然而,当我试图打印出玩家的手牌时,我遇到了一些困难。 这是我的击球(抽牌)代码: 这是我打印卡片的代码: 我的代码所做的第一件事是为庄家和玩家抽两张牌,这运行得很好。然而,当玩家抽到一张牌后,它就会变得有点摇摆不定。输出如下所示: 当我抽到一张新牌时,这张牌不变,它保持我抽到的最后一张牌。然后,当我打印我的甲板,它打印我的旧甲板和我的新甲板。但是,分

  • 我的手机已打开并处于调试模式,我已经使用确认了这一点。当我运行ionic run android时,我得到的输出如下,Ionic声称应用程序已启动,但手机上什么也没发生。我使用的是带有android 4.4.4的Nexus 5。 index.html在android应用程序:

  • 在研究tkinter多线程时,我发现tkinter必须在主线程上运行(就像许多GUI框架),当一个单独的线程需要与GUI通信时,必须使用队列,而不是直接从工作线程访问小部件。 我试图学习使用队列方法,但当然最初我想看看如果我做错了会发生什么,所以我写了这段代码,它近似于Pi(π)几秒钟: 据我所知,由注释是问题。但是这个代码运行得很好。保持响应,标签和进度条都会更新。