相关疑难解决方法(0)

使用-i选项的sed命令在Mac上失败,但适用于Linux

我已成功使用以下sed命令在Linux中搜索/替换文本:

sed -i 's/old_link/new_link/g' *
Run Code Online (Sandbox Code Playgroud)

但是,当我在Mac OS X上试用它时,我得到:

"命令c期望\后跟文本"

我以为我的Mac运行普通的BASH shell.这是怎么回事?

编辑:

根据@High Performance,这是由于Mac sed具有不同的(BSD)风格,因此我的问题是如何在BSD中复制此命令sed

编辑:

以下是导致此问题的实际示例:

sed -i 's/hello/gbye/g' *
Run Code Online (Sandbox Code Playgroud)

linux macos bash sed

271
推荐指数
9
解决办法
17万
查看次数

为什么通过I/O重定向读取和写入相同的文件会导致Unix中出现空文件?

如果我将命令的输出重定向到它读取的同一文件,则其内容将被删除.

sed 's/abd/def/g' a.txt > a.txt
Run Code Online (Sandbox Code Playgroud)

有谁能解释为什么?

unix shell io-redirection

7
推荐指数
2
解决办法
2443
查看次数

标签 统计

bash ×1

io-redirection ×1

linux ×1

macos ×1

sed ×1

shell ×1

unix ×1