如何在特定时间内查找和替换?

时间:2013-05-24 03:53:34

标签: shell command-line command

我需要在文本文件中找到前413次:

<title>Local SEO Services - The Company Review</title>

并将其替换为:

<title>Local SEO Services - TheCompany Review</title>

有没有办法通过命令行执行此操作并仅将其限制为前413个结果?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这是在Perl中实现的真正基本思想:

perl -e 'foreach (<>) { $count<2 && s/hello/goodbye/ && $count++; print; }'

这将'hello'的前两次替换为'goodbye'。然而,它是基于行的。如果您在一行中有两个替换,它将无法工作。

请注意,它在标准流上运行,从stdin读取并写入stdout。

您需要转义任何特殊字符(例如/),如下所示:\/例如

s/<title>Local SEO Services - The Company Review<\/title>/<title>Local SEO Services - TheCompany Review<\/title>/