如何使用 sed 替换匹配的列表

苏尔唐

我想使用 sed 替换文本文件,但要使用序列。

例子.txt:

1. 2000000
2. 2000000
3. 2000000
4. 2000000

我想要这样的结果:

1. 2000000
2. 1900000
3. 1800000
4. 1700000

我有这种肮脏的方式:

for i in {2000000..1700000..-100000}; do sed -i -e "0,/2000000/! {0,/2000000/ s/2000000/$i/}" example.txt; done

有什么更好的主意吗?

橄榄

使用 awk 可能更容易:

awk '{sub("2000000",2000000-(100000*c++))}1' file

c第一行没有定义计数器,所以数字不会改变。在下一行,计数器增加,值减少。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

匹配后使用sed或awk替换行

来自分类Dev

如何使用sed根据变量匹配替换行

来自分类Dev

使用sed,如何替换匹配行中的单词?

来自分类Dev

如何使用sed替换它?

来自分类Dev

如何使用sed替换& 与&

来自分类Dev

如何使用sed替换数字?

来自分类Dev

如何使用sed替换它?

来自分类Dev

如何使用sed替换单个'?

来自分类Dev

如何仅替换与sed中的几种模式匹配的行?

来自分类Dev

sed替换完全匹配

来自分类Dev

使用sed替换关联bash数组中的匹配值

来自分类Dev

使用 sed 从行尾替换匹配的字符串

来自分类Dev

如何嵌套sed替换?

来自分类Dev

使用sed替换'-'char

来自分类Dev

使用sed替换单词

来自分类Dev

使用sed替换多行

来自分类Dev

如何使用sed搜索^ A并将其替换

来自分类Dev

如何使用sed替换http或https?

来自分类Dev

如何使用sed替换xml文件行

来自分类Dev

如何使用sed替换& 和 &

来自分类Dev

如何使用sed将文字替换为“:”

来自分类Dev

如何使用sed用括号替换数字?

来自分类Dev

如何使用sed将其替换为空

来自分类Dev

如何使用sed在模式之间替换字符

来自分类Dev

如何使用sed替换环境变量

来自分类Dev

如何使用sed仅替换与正则表达式匹配的行?

来自分类Dev

如何使用sed / awk / perl用相等数量的破折号替换匹配的模式?

来自分类Dev

如何保持部分模式匹配并在BSD sed上使用它进行替换?

来自分类Dev

如何保持部分模式匹配并在BSD sed上使用它进行替换?