在终端中使用sed替换文件中的文本

时间:2014-01-20 07:25:46

标签: sed terminal command

我在这个文件中有这个文字:

test.php的

$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => 'original',
      'username' => 'root',
      'password' => 'root',
      'host' => 'localhost'
    ),
  ),
);

在终端中运行此行以将'original'替换为'new'

sed -i 's/original/new/g' test.php

更新:错误消息是:

  

sed:1:“test.php”:未定义标签'est.php'

有什么问题?

更新2:

如果我只是跑:(我删除了'-i')

sed 's/original/new/g' test.php

我看到终端中修改了文件文本。但是文件没有保存。

1 个答案:

答案 0 :(得分:14)

在BSDish平台(包括Mac OSX)上,-i选项需要参数。

sed -i '' 's/original/new/g' test.php

注意空参数''