相关疑难解决方法(0)

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

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

test.php的

$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => 'original',
      'username' => 'root',
      'password' => 'root',
      'host' => 'localhost'
    ),
  ),
);
Run Code Online (Sandbox Code Playgroud)

在终端运行此行以用'new'替换'original'

sed -i 's/original/new/g' test.php
Run Code Online (Sandbox Code Playgroud)

更新:错误消息是:

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

问题是什么?

更新2:

如果我只是运行:(我删除'-i')

sed 's/original/new/g' test.php
Run Code Online (Sandbox Code Playgroud)

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

terminal command sed

1
推荐指数
1
解决办法
1万
查看次数

如何使用sed/awk/perl从特定列中删除n个字符

我有以下制表符分隔数据:

chr1    3119713 3119728 MA05911Bach1Mafk    839 +
chr1    3119716 3119731 MA05011MAFNFE2  860 +
chr1    3120036 3120051 MA01502Nfe2l2   866 +
Run Code Online (Sandbox Code Playgroud)

我想要做的是从第4列删除7个字符.导致

chr1    3119713 3119728 Bach1Mafk   839 +
chr1    3119716 3119731 MAFNFE2 860 +
chr1    3120036 3120051 Nfe2l2  866 +
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?请注意,输出也需要TAB分隔.

我坚持使用以下代码,从第一列开始替换,我不想要

sed 's/^.\{7\}//' myfile.txt
Run Code Online (Sandbox Code Playgroud)

unix linux perl awk sed

1
推荐指数
2
解决办法
1076
查看次数

FreeBSD 上的 sed -i

我已将字符串存储在两个变量中(行是当前行,新行是替换行)。我的代码如下所示:

sed -i "s@line@new@" output_file
Run Code Online (Sandbox Code Playgroud)

然而,这个解决方案不适用于 FreeBSD。

有什么方法可以稍微修改一下这段代码,使其可以工作吗?

freebsd sed

1
推荐指数
1
解决办法
1302
查看次数

使用 silver 搜索器和 sed 查找并替换文件中的文本

哎呀,我只是不记得了......我最近有一个很酷的方法来使用agwithsed来进行查找和替换。要点很简单,比如:

ag foo -l |  ... magic here ...   sed 's/foo/bar/g'
Run Code Online (Sandbox Code Playgroud)

不起作用,但你可能知道什么是有效的。谢谢!

附言。为银色搜索者欢呼三声。

sed ag

1
推荐指数
1
解决办法
1654
查看次数

标签 统计

sed ×4

ag ×1

awk ×1

command ×1

freebsd ×1

linux ×1

perl ×1

terminal ×1

unix ×1