'

.

Antal rader i en fil (perl-script)
google unix.com
Forum
Registrera
Forum Regler Länkar Album
FAQ
Medlemslista
Kalender
Söka
Dagens inlägg
Markera forum som lästa
Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd
Thread Starter
Forum
Svar
Senaste Inlägg
Hur hittar antal rader i en fil
somesh_p
Shell-programmering och Skript
2
12-19-2007 09:15
totala antalet rader i en fil
Raynon
Shell-programmering och Skript
9
10-04-2007 10:13
skära ett antal rader ur en fil
networkfre @ k
Shell-programmering och Skript
1
12-09-2005 01:46
Behöver ls att visa antal rader i varje fil
GMMike
UNIX for Dummies Frågor & Svar
1
11-19-2004 05:53
Räkna antalet dubbletter raderna i en fil
crunchtime
UNIX for Dummies Frågor & Svar
2
07-04-2003 02:24

LinkBack
Thread Tools
Sök i denna tråd
Rate Thread
Visningslägen
Antal rader i en fil (perl-script)
Nedanstående kommando anger antalet rader i en fil
perl -le 'print $\u003d\u003d()\u003d<>' <file_name>
Jag vill använda detta kommando inuti en perl manus och lagra
produktionen i en variabel. Hur kan jag göra detta?
Är deras andra metoder för att anta detta?
Tack på förhand
JS
Mer allmänt, om du läser en fil till en array, sedan @ array i skalära sammanhang kommer att tala om för dig hur många rader i matrisen. Jag förmodar att ni vill göra något mer med filen än att bara räkna antalet rader i den.
Egentligen fick jag koden från Internet och brydde sig inte att hitta hur det fungerar (dumt av mig) ..
Jag vill bara lagra antalet rader i en fil i variabeln.
Jag använder för att göra följande i ett shell script (säger 1.sh)
wc-l "sample_file_name"> 1.txt
nej
no_lof_line \u003d `cut-d" "-f1 1.txt"
Jag måste använda samma grundläg här "inuti" en perl script (säger test.pl)
Jag tvivlar fortfarande om koden jag sa i den första tråden fortfarande verk i en perl skript.
my $f = "sample_file_name";
open (F, $f) || die "Could not open $f: $!\n";
my @f = <F>;
close F;
my $lines = @f;
Förresten, i skalskript, om du använder omdirigering, behöver du inte använda klippa att bli av filnamnet.
no_lof_line=`wc -l <sample_file_name`
Och naturligtvis är temporära filen också ganska onödigt, hur som helst.
Om du redan har filens innehåll i en variabel $ string, då kan du räkna radmatning i det med en enkel $ lines \u003d () \u003d $ string \u003d ~ m / \ n / g - Detta är en kryptisk förkortning för en ganska komplex serie kommandon som återigen skulle ta flera rader i vanlig skrift, oförvrängd form.