gpt4 book ai didi

sed - 使用 sed 在固定位置替换特定字符串

转载 作者:行者123 更新时间:2023-12-03 18:35:58 25 4
gpt4 key购买 nike

我有一个简单的文本文件,其中包含多行数据,其中每行正好有 26 个字符。
例如。

10001340100491938001945591
10001340100491951002049591
10001340100462055002108507
10001340100492124002135591
10001340100492145002156507
10001340100472204002205591

现在,我想用第 58 个字符替换第 12 个和第 13 个字符,如果这两个字符只有 49 个。

我是这样试的:
sed 's/^(.{12})49/\58/' data.txt

但我收到此错误:
sed: -e expression #1, char 18: invalid reference \5 on `s' command's RHS

提前致谢

最佳答案

捕获的组是 \1 ,因此您要放置 11 个(不是 12 个)字符,然后是 58 :

sed -E 's/^(.{11})49/\158/' data.txt

如果您不想转义方括号和大括号,您还需要 -E-r

根据您的输入,该命令将第 1、2、4 和 5 行中的 49 更改为 58

关于sed - 使用 sed 在固定位置替换特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24469977/

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