这个 sed 命令是什么意思?

这个 sed 命令是什么意思?

这在 shell 脚本中意味着什么?

| sed 's/ /':'/' | sed 's/ /-/' > file.list

答案1

假设上下文是

some-command | sed 's/ /':'/' | sed 's/ /-/' > file.list

让我们把它一点一点地拆开。假设例如some-commandecho 'test of the command'

然后sed 's/ /':'/'将第一个空格替换为:

test of the commandtest:of the command

之后,sed 's/ /-/'将新的第一个空格替换为-

test:of the commandtest:of-the command

此转换应用于 输出的每一行some-command


正如@Philippos 在评论中提到的,目前还不清楚为什么:这里没有引用。那就更好了

some-command | sed 's/ /:/' | sed 's/ /-/' > file.list

sed不限于每个实例一次替换。所以更好的是

some-command | sed 's/ /:/; s/ /-/' > file.list

相关内容