ascotlxIch habe eine Liste mit Dateinamen (eine Zeile, ein Dateiname). Diesen Dateinamen muss ich in einer anderen Datei suchen (eine Zeile beinhaltet unter anderem den gesuchten Dateinamen. Bei einem Treffer möchte ich die gefundene Zeile in eine weitere Datei schreiben.
Ursprünglich wird in einem Verzeichnis nach Dateien gesucht, die Älter als X Tage ist. Diese Dateien werden dann in einer Datei gesucht und die gefundenen Zeilen werden gelöscht. Ziel ist, dass in der Datei nur die Dateien übrig bleiben, die nicht Älter als 5 Tage sind.
1
2
3
4
5
6
7
8
9
!/usr/bin/perl
$file = '2016_5';
open(READ, $file);
@lines = <READ>;
close(READ);
print @lines;
1
2
3
4
5
-rw-rw-rw- 1 user1 user 2455 2016-01-20 09:21 t-00Rldb
-rw-rw-rw- 1 user1 user 3119 2016-02-09 11:10 t-00TRgn
-rw-rw-rw- 1 root root 445 2016-01-25 10:58 t-00V2oO
-rw-rw-rw- 1 user1 user 1951 2016-02-08 15:25 t-00c2RA
-rw-rw-rw- 1 user1 user 1820 2016-02-08 07:28 t-00lseB
2016-02-14T22:23:28 ascotlxCode: (dl )1
2
3
4
5
6
7
8
9!/usr/bin/perl
$file = '2016_5';
open(READ, $file);
@lines = <READ>;
close(READ);
print @lines;
In etwa so ??
1 2 3 4 5 6 7 8 9 10 11 12 13
!/usr/bin/perl use warnings; use strict; my $file = '2016_5'; open(my $fh, "<", $file) or die; my @lines = <$fh>; close($fh); foreach my $i (@lines) { chomp($i); print "$i\n"; }
2016-02-14T23:33:00 lichtkind16 Jahre Bitte, es ist jetzt ganz offen draussen, nix Labor
und in Perl 6 wäre das :
1 2 3 4 5
use strict; use warnings; my ($file,$fh) = ('bla.txt'); open( $fh, '<', $file ) && print <$fh>;
1 2 3 4 5
use strict; use warnings; my ($file,$fh) = ('bla.txt'); open( $fh, '<', $file ) && do { print while <$fh> };