first
This commit is contained in:
commit
757ca483f0
115 changed files with 13170 additions and 0 deletions
52
overlay/Gentoo/usr/local/bin/str_replace
Executable file
52
overlay/Gentoo/usr/local/bin/str_replace
Executable file
|
@ -0,0 +1,52 @@
|
|||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
|
||||
my $numarg = $#ARGV + 1;
|
||||
if ($numarg < 2) {
|
||||
print "Usage: str_replace Search Replace File\nOr: STDIN str_replace Search Replace\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
my $find=$ARGV[0];
|
||||
my $replace=$ARGV[1];
|
||||
my $file;
|
||||
my $contents;
|
||||
my $found=0;
|
||||
my $fh;
|
||||
|
||||
if(defined $ARGV[2]){
|
||||
$file=$ARGV[2];
|
||||
open($fh, '<', $file) or die "Cannot open the file '$file'";
|
||||
{
|
||||
local $/;
|
||||
$contents = <$fh>;
|
||||
}
|
||||
close($fh);
|
||||
}
|
||||
else{
|
||||
{
|
||||
local $/;
|
||||
$contents = <STDIN>;
|
||||
}
|
||||
}
|
||||
my $pos = index($contents, $find);
|
||||
while ( $pos > -1 ) {
|
||||
if(substr( $contents, $pos, length( $find ), $replace )){$found =$found+1;}
|
||||
$pos = index( $contents, $find, $pos + length( $replace ));
|
||||
}
|
||||
|
||||
if(!defined $ARGV[2]){
|
||||
print $contents;
|
||||
exit;
|
||||
}
|
||||
|
||||
if($found==0) {print "Nothing replaced\n";}
|
||||
else{ print "$found occurrences of '$find' have been replaced with '$replace'\n";}
|
||||
|
||||
|
||||
open($fh, '>', $file);
|
||||
print $fh $contents;
|
||||
close $fh;
|
Loading…
Add table
Add a link
Reference in a new issue