gpt4 book ai didi

linux - 文本文件中的字符串替换

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:29:08 25 4
gpt4 key购买 nike

我有一个如下所示的文本文件,

r 19.568805475 _16_ RTR  --- 189 cbr 532 [13a 10 c 800] [energy 1.095631 ei 0.000 es 0.000 et 0.552 er 1.352] ------- [0:2 17:0 23 16] [189] 8 0
f 19.568805475 _16_ RTR --- 189 cbr 532 [13a 10 c 800] [energy 1.095631 ei 0.000 es 0.000 et 0.552 er 1.352] ------- [0:2 17:0 22 8] [189] 8 0
D 19.568805475 _16_ IFQ ARP 190 cbr 532 [13a 10 10 800] [energy 1.095631 ei 0.000 es 0.000 et 0.552 er 1.352] ------- [0:2 17:0 24 8] [190] 6 0
r 19.569095175 _12_ MAC --- 0 ACK 38 [0 c 0 0] [energy 0.841123 ei 0.000 es 0.000 et 0.316 er 1.843]
s 19.569306186 _2_ MAC --- 0 undefined 106 [0 ffffffff 2 800] [energy 0.889732 ei 0.000 es 0.000 et 0.633 er 1.477] ------- [2:255 -1:255 25 0]

现在我想搜索包含单词“cbr”的行,如果同一行以“^D”开头,我必须替换“^ D”由“r”。

例如,

D 19.568805475 _16_ RTR  --- 189 cbr 532 [13a 10 c 800] [energy 1.095631 ei 0.000 es 0.000 et 0.552 er 1.352] 

上面一行有单词“cbr”,该行以“D”开头。这里我必须把“D”改成“r”

谁能帮我做这件事?

谢谢

最佳答案

让我们为此使用 sed:

sed '/cbr/s/^D/r/' file
^^^ ^ ^^ ^
| | | |
| | | replace with "r"
| | starting with "D"
| replace
string containing "cbr"

根据基本的 sed s/findsomething/andreplace/' file 语法。

它返回:

r 19.568805475 _16_ RTR  --- 189 cbr 532 [13a 10 c 800] [energy 1.095631 ei 0.000 es 0.000 et 0.552 er 1.352] ------- [0:2 17:0 23 16] [189] 8 0
f 19.568805475 _16_ RTR --- 189 cbr 532 [13a 10 c 800] [energy 1.095631 ei 0.000 es 0.000 et 0.552 er 1.352] ------- [0:2 17:0 22 8] [189] 8 0
r 19.568805475 _16_ IFQ ARP 190 cbr 532 [13a 10 10 800] [energy 1.095631 ei 0.000 es 0.000 et 0.552 er 1.352] ------- [0:2 17:0 24 8] [190] 6 0
r 19.569095175 _12_ MAC --- 0 ACK 38 [0 c 0 0] [energy 0.841123 ei 0.000 es 0.000 et 0.316 er 1.843]
s 19.569306186 _2_ MAC --- 0 undefined 106 [0 ffffffff 2 800] [energy 0.889732 ei 0.000 es 0.000 et 0.633 er 1.477] ------- [2:255 -1:255 25 0]

关于linux - 文本文件中的字符串替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21282376/

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