sed 进行部分替换?

发布于 2024-11-25 05:12:51 字数 264 浏览 0 评论 0原文

想象一下,我有一个具有以下类型行的文件:

FIXED_DATA1 VARIABLE_DATA FIXED_DATA2

我想更改固定数据并保留变量数据不变。 由于各种原因,使用两个 sed 操作来替换固定数据是行不通的。例如,固定字段可能是双引号,并且该行具有包含它们的其他区域,因此实际上编写正则表达式来匹配可变数据和固定数据中的模式。

如果我一心想使用 sed,有没有办法同时更改两个固定数据字段,同时保持变量字段不变?

谢谢。

Imagine I have a file that has the following type of line:

FIXED_DATA1 VARIABLE_DATA FIXED_DATA2

I want to change the fixed data and leave the variable data as is. For various reasons, using two sed operations to replace the fixed data will not work. For instance, the fixed fields might be double-quotes, and the line has other areas containing them, thus really the regex is written to match a pattern in the variable data and the fixed data.

If I'm bent on using sed, is there a way to change both fixed data fields at once while leaving the variable field unchanged?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

疧_╮線 2024-12-02 05:12:51

您需要将该行分成三部分,替换外部两部分并保留中间部分:

sed 's/^FIX1 \(.*\) FIX2$/New \1 End/'

您可以根据需要使开始和结束匹配更加复杂。

You need to partition the line into the three pieces, replace the outer two and leave the middle alone:

sed 's/^FIX1 \(.*\) FIX2$/New \1 End/'

You can make the beginning and end matches more complex as needed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文