gpt4 book ai didi

bash - 替换匹配两个模式的行

转载 作者:行者123 更新时间:2023-11-29 09:26:28 24 4
gpt4 key购买 nike

您好,我正在编写 shell 脚本,其中我必须通过引用两个参数将状态 O 替换为 B

1. trng-linx |  17.2.18. | change status to O to P in project tasklist | O | 1m
2. trng-lvk1 | 17.2.18. | change P to O in project tasklist | O | 1m

我想从更改状态| O || B | 匹配模式 trng-linx17.2.18.

的行(在本例中为第一行)

我试过用这个

sed -i '/^.*\(17\.2\.18\.\).*/s/O/B/' tasklist.txt

但它会替换两行的状态,而不仅仅是第一行。

这是我想要的输出:

1. trng-linx |  17.2.18. | change status to O to P in project tasklist | B | 1m
2. trng-lvk1 | 17.2.18. | change P to O in project tasklist | O | 1m

请帮我弄清楚。

最佳答案

GNU sed

sed '/trng-linx |  17.2.18. |/s/O\s|/B\ |/' file

关于bash - 替换匹配两个模式的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17188718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com