我通過使用sed查找和替換某些文本輸入來生成簡單的SVG圖。但是,我需要更復雜的查找和替換操作,涉及簡單的數學運算,以更改某些X和Y值。查找並替換將執行簡單算術的函數?
E.g.我需要用的0.5或0.2或0.1
因爲我多麼希望這個工作,它不能與SVG內的變換操作來實現的因素乘以所有Y值。*
我只需要能夠找到所有([0-9.]*)VERT
(在sed中)並且用\1
乘以我選擇的常數的數學結果來代替。
我通過使用sed查找和替換某些文本輸入來生成簡單的SVG圖。但是,我需要更復雜的查找和替換操作,涉及簡單的數學運算,以更改某些X和Y值。查找並替換將執行簡單算術的函數?
E.g.我需要用的0.5或0.2或0.1
因爲我多麼希望這個工作,它不能與SVG內的變換操作來實現的因素乘以所有Y值。*
我只需要能夠找到所有([0-9.]*)VERT
(在sed中)並且用\1
乘以我選擇的常數的數學結果來代替。
你可以寫一個簡單的perl腳本。不知道什麼決定了$因素,但這至少應該給你一個開始。
#! /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
;
perl -ape 's/[0-9.]*(?=VERT)/$& * .5/e' file
希望這個作品+