in reply to File modification
Note that the substitution will have no effect on lines that do not match the regex -- it only changes the digit(s) at the end of the targeted line.#!/usr/bin/perl use strict; ( @ARGV == 1 and $ARGV[0] =~ /^\d+$/ ) or die "Usage: $0 N\n where N is a new number for one.txt\n"; open( I, "one.txt" ) or die "$0: reading one.txt: $!"; open( O, "one.txt.new" ) or die "$0: writing one.txt.new: $!"; while(<I>) { s/(Authentication number is) \d+/$1 $ARGV[0]/; print O; } close I; close O; rename "one.txt.new", "one.txt";
|
|---|