我想在我的 bash 脚本中添加以下 perl 命令,请提供建议
如何使用 perl 更改(减少一)文件中以“+”字符开头的最后一个数字?
Example of original file ( before run the perl command )
more file
432423
53454
+535
343
45
+1000
请求的输出文件示例(运行 perl 命令后)
more file
432423
53454
+535
343
45
+999
答案1
答案2
你可以使用以下脚本:
#!/usr/bin/perl -w
use strict;
open(INFILE, "< file") or die( "Can't open input file" );
open(OUTFILE, "> file.out") or die( "Can't open output file" );
my @lines = reverse <INFILE>;
foreach my $line (@lines) {
if ($line =~ /^\+(\d+)/) {
$line = "+".($1-1)."\n";
last;
}
}
my @lines2 = reverse @lines;
foreach my $line (@lines2) {
print OUTFILE $line;
}
close(OUTFILE);