An edit in place with deliberate assumptions on the source file (actually, I get this from
dwm042's example):
$ cat target-file.txt
Address1=
Address2=
Address3=
$ perl -Mstrict -pi -wle 'our @ports; BEGIN { my $source = "tcp 20 tcp
+ 40 tcp 80"; @ports = $source =~ /tcp\s+(\d+)/g;} $_ .= shift(@ports)
+;' target-file.txt
$ cat target-file.txt
Address1=20
Address2=40
Address3=80
(
johngg demonstrates the verbose version of
-pi) Or, if you want to keep the original file and redirect the result to other file, you can use
-n instead of
-p and
-i combination. Well,
-i.ext keeps the original version with
.ext appended to the filename.
$ cat target-file.txt
Address1=
Address2=
Address3=
$ perl -Mstrict -wnle 'our @ports; BEGIN { my $source = "tcp 20 tcp 40
+ tcp 80"; @ports = $source =~ /tcp\s+(\d+)/g;} $_ .= shift(@ports); p
+rint' target-file.txt > output.txt
$ cat output.txt
Address1=20
Address2=40
Address3=80
$ cat target-file.txt
Address1=
Address2=
Address3=
Open source softwares? Share and enjoy. Make profit from them if you can. Yet, share and enjoy!