【发布时间】:2022-01-11 23:19:16
【问题描述】:
我有这个属性文件,里面可以有尽可能多的“spark-worker”字符串:
[master]
spark-master ansible_ssh_host=ec2-3-236-23-XXX.compute-1.amazonaws.com
[worker]
spark-worker ansible_ssh_host=ec2-34-204-206-XXX.compute-1.amazonaws.com
spark-worker ansible_ssh_host=ec2-3-238-204-XXX.compute-1.amazonaws.com
.
.
spark-worker ansible_ssh_host=ec2-3-238-204-XXX.compute-1.amazonaws.com
[spark_cluster:children]
master
worker
我想在每个字符串“spark-worker”之后添加一个数字,所以结果是:
[master]
spark-master ansible_ssh_host=ec2-3-236-23-XXX.compute-1.amazonaws.com
[worker]
spark-worker-1 ansible_ssh_host=ec2-34-204-206-XXX.compute-1.amazonaws.com
spark-worker-2 ansible_ssh_host=ec2-3-238-204-XXX.compute-1.amazonaws.com
.
.
spark-worker-n ansible_ssh_host=ec2-3-238-204-XXX.compute-1.amazonaws.com
[spark_cluster:children]
master
worker
什么是最好的 bash 方式?
【问题讨论】:
-
使用
awk是微不足道的。 -
我认为
sed不可能,它没有任何算术能力,每次替换后都需要增加数字。