0

我通过在某些文本输入上使用 sed 查找和替换来生成简单的 SVG 图。但是,我需要一个涉及简单数学的更复杂的查找和替换操作,以更改某些 X 和 Y 值。

例如,我需要将所有 Y 值乘以 0.5 或 0.2 或 0 的系数。

由于我希望它工作的方式,它无法通过 SVG 中的转换操作来实现。*

我只需要能够找到([0-9.]*)VERT(在 sed 中)的所有实例并替换为\1乘以我选择的常数的数学结果。

4

2 回答 2

0
 perl -ape 's/[0-9.]*(?=VERT)/$& * .5/e' file

希望这有效 +

于 2013-04-17T04:45:57.637 回答
0

您可以编写一个简单的 perl 脚本。不确定是什么决定了 $factor,但这至少应该给你一个良好的开端。

#! /usr/bin/perl
my $factor=0.5;
while(my $line=<>) {
    if ($line =~ /([0-9.]*)VERT/) {
        my $num = $factor * $1;
        $line =~ s/([0-9.]*)VERT/${num}VERT/;
    }
    print $line;
}

用法: ./scriptname.pl <file_to_process.txt;

于 2013-04-17T03:07:29.763 回答