gpt4 book ai didi

bash - 如何使用 bash 搜索和替换文件中的多个数字序列

转载 作者:行者123 更新时间:2023-11-29 09:23:31 25 4
gpt4 key购买 nike

我有一个包含很多行的文件,如下所示:

dog:7066469:182:0:0:7050964:7087402:7058396:7079290:7087537
cat:7066469:182:0:0:7050964:7087402:7058396
dog:7066469:182:0:0:7050964:7087402:7058396:7079290

使用 bash 编程(sed 或 awk 或其他),如何在第 5 个“:”之后的每个数字前面添加一个 6,只有以“cat:”开头的行?正确的结果是这样的:

dog:7066469:182:0:0:7050964:7087402:7058396:7079290:7087537
cat:7066469:182:0:0:67050964:67087402:67058396
dog:7066469:182:0:0:7050964:7087402:7058396:7079290

最佳答案

使用 awk:

awk 'BEGIN{FS=OFS=":"} $1=="cat"{for (i=6; i<=NF; i++) $i = "6" $i} 1' file
dog:7066469:182:0:0:7050964:7087402:7058396:7079290:7087537
cat:7066469:182:0:0:67050964:67087402:67058396
dog:7066469:182:0:0:7050964:7087402:7058396:7079290

关于bash - 如何使用 bash 搜索和替换文件中的多个数字序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30944486/

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