【发布时间】:2019-04-29 06:15:18
【问题描述】:
我有一个像
这样的文本文件 -7.9 8.5 1235 125478.30 9632
32656.12 0.0 0.0 2365.12 h
254 3365 12543 kk l423
我的目标是用另一个变量替换 2365.12 出现的位置。 这将在循环中发生更多迭代次数。
最初我使用 sed 来替换引用值。但我对这些事件有疑问。之前的同一行中可能存在相同的值。但我想要替换值的这个位置。
因此我使用了以下命令,它将计算要替换的位置。
sed -i"3s/^\(.\{32\}\)\(.\{7\}\)\(.*\)/1$variable\3" outputdata.txt
现在我的问题是,当在一个循环中替换具有较少位数的值时,以下值会接近。因此在下一个循环期间,位置计数与下一个值混淆。
因此,如果有人可以帮助我解决问题,那就太好了 要么我可以替换只有非空格的位置集 或在每次替换时将以下一组值或行的剩余部分替换为前面的空格。或其他一些我可以指向该值并替换它的方法。
分隔值的空格数可以不同。
【问题讨论】: