使用 sed 替换文本并输出到新行并打印它

使用 sed 替换文本并输出到新行并打印它

我需要更改替换文件中的文本,并使用更改后的文本输出整个文本文件,并将其打印到屏幕上。

这就是我得到的:

sed 's/123/456/g' number > number123

这会更改文本并输出到新文件,但不会打印到终端。

我如何获得它,以便它在该命令中将更改后的文本文件打印到终端。

任何帮助表示赞赏。

答案1

您可以简单地执行以下操作:

sed 's/123/456/g' number | tee number123

该命令tee从标准输入读取并写入标准输出和文件。

答案2

sed 's/123/456/g; w number123' number

请注意,它会打印(并写入number123)所有行,包括那些不包含 的行123

仅打印修改后的内容:

sed -e 's/123/456/gw number123' -e t -e d number

相关内容