繁体   English   中英

使用sed在行范围之间查找和替换文件中的文本

[英]Find and replace text in a file between range of lines using sed

我有一个大文本文件 (URL.txt),我希望使用单个sed命令执行以下操作:

  1. 在第 19 行和第 33 行之间查找文本“google”并将其替换为“facebook”。

  2. 在终端上显示输出而不改变原始文件。

您可以使用 sed 地址:

sed '19,33s/google/facebook/g' file

这将在 19 和 33 之间(包括 19 和 33)的行上运行替换。

sed命令的形式如下:

[address[,address]]function[arguments]

其中19,33是addreses,
s ubstitute是功能
g叶形是参数

上面的答案几乎在 Mac OSX 上对我有用。

sed '19,33s/google/facebook/' 文件

没有大括号也能完美工作。

sed '19,$s/google/facebook/' 文件

也可以工作到文件末尾。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM