Duke Leto
2 years ago
1 changed files with 42 additions and 0 deletions
@ -0,0 +1,42 @@ |
|||||
|
#!/usr/bin/perl |
||||
|
# Copyright (c) 2016-2022 The Hush developers |
||||
|
# Distributed under the GPLv3 software license, see the accompanying |
||||
|
# file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html |
||||
|
|
||||
|
use strict; |
||||
|
use warnings; |
||||
|
use autodie; |
||||
|
use Data::Dumper; |
||||
|
my ($find,$replace,@files) = @ARGV; |
||||
|
|
||||
|
usage() unless $find && defined $replace; |
||||
|
unless( @files ) { |
||||
|
printf "No files to replace stuff!"; |
||||
|
exit 0; |
||||
|
} |
||||
|
|
||||
|
my $fh; |
||||
|
print "Going to replace $find with $replace in " . scalar(@files) . " files\n"; |
||||
|
|
||||
|
for my $file (@files) { |
||||
|
if (-d $file) { |
||||
|
printf "Skipping directory $file\n"; |
||||
|
next; |
||||
|
} |
||||
|
unless ( -e $file ) { |
||||
|
printf "$file does not exist!\n"; |
||||
|
next; |
||||
|
} |
||||
|
open $fh, '<', $file; |
||||
|
my $content = join('',<$fh>); |
||||
|
$content =~ s/\Q$find\E/$replace/g; |
||||
|
close $fh; |
||||
|
|
||||
|
open $fh, '>', $file; |
||||
|
print $fh $content; |
||||
|
close $fh; |
||||
|
} |
||||
|
|
||||
|
sub usage { |
||||
|
die "$0 stringtofind stringtoreplace file [more files...]\n"; |
||||
|
} |
Loading…
Reference in new issue