我有500個文件或使凌亂的數據集的列表(的.csv)看起來像如下:正則表達式在Perl中添加小數點後的字符?
0.00, 0.53, 1.53, 0.00 0.52, 243.21
... etc etc.
我想:
0.00, 0.53, 1.53, 0.00, 0.52, 243.21
用Perl(或bash),我如何匹配小數點後的所有內容,如果有空格後跟另一個號碼,那麼我會在第一個數字後插入一個逗號?
即0.00 0.52
到0.00, 0.52
我是初學者,一般以Perl和編程,所以我不太瞭解如何正確使用。 我發現正則表達式[0-9]+(\.[0-9][0-9]?)?
應該工作兩位小數,但更多的小數呢?難道僅僅[0-9]+(\.[0-9]+?)?
我不成功的嘗試:
for my $file (glob '*.csv') {
open my $in, '<', $file;
my @lines;
while (<$in>) {
while(/^[0-9]+(\.[0-9]+)?$/g){
print ","; # Am I overwritting my lines here?
}
$line =~ s/,,/,/g; # Get rid of any double commas that appear now
}
close $in;
open my $out, '>', $file;
print $out $_ for @lines;
close $out;
}
我想我不能正確匹配/印刷 - 任何幫助表示讚賞,其中包括更優雅的解決方案。
預先感謝您!