使用 sed 替换数组中的字符串

问题描述 投票:0回答:1
sed
1个回答
0
投票

这可能对你有用(GNU sed):

sed -E '1{x;s/^/'$(seq -s, 5 5 100)'/;x}
        /Es9018 Master Volume/{G
          s/(value=").*(".*\n)([^,]*),/\1\3\2/;P;s/.*\n//;h;d}' file

使用卷的唯一值初始化保留空间(此处从 5 以 5 为步长到值 100,如果需要更多,请增加 seq 命令的最后一个值)。

当一行包含

Es9018 Master Volume
时,附加唯一值并使用替换将当前值替换为列表中的第一个值。然后打印修改后的行并用耗尽的列表替换保留空间。

重复。

© www.soinside.com 2019 - 2024. All rights reserved.