' Jag vill använda detta kommando inuti ett Perl-skript och lagra resultaten i en variabel. Hur" /> Antal rader i en fil (Perl-skript) - The UNIX och Linux Forums
The UNIX and Linux Forums  

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 05-20-2008
jisha jisha is offline
Registered User
  
 

Join Date: Jan 2008
Ort: Bangalore, Indien
Inlägg: 144
Arrow Antal rader i en fil (perl-script)

Hej Alla,

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
  #2 (permalänk)  
Old 05-20-2008
eran era is offline Forum Advisor  
Herder av Useless Cats (På sabbatsår)
  
 

Join Date: mars 2008
Ort: / det är / / bara / bin / sh
Inlägg: 3652
Din kod ger redan det antal linjer till variabeln $ \u003d (som är en riktigt obskyr sak att göra ändå), bara ändra detta till vad variabel du verkligen vill.

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.
  #3 (permalänk)  
Old 05-20-2008
jisha jisha is offline
Registered User
  
 

Join Date: Jan 2008
Ort: Bangalore, Indien
Inlägg: 144
Tack Era.
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.
  #4 (permalänk)  
Old 05-20-2008
eran era is offline Forum Advisor  
Herder av Useless Cats (På sabbatsår)
  
 

Join Date: mars 2008
Ort: / det är / / bara / bin / sh
Inlägg: 3652

Kod:
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.


Kod:
no_lof_line=`wc -l <sample_file_name`

Och naturligtvis är temporära filen också ganska onödigt, hur som helst.
  #5 (permalänk)  
Old 05-20-2008
jisha jisha is offline
Registered User
  
 

Join Date: Jan 2008
Ort: Bangalore, Indien
Inlägg: 144
Tack själv en lott Era,

Men kan vi komprimera denna kod?
Och i perl, Dont vi har ett enda kommando för att få linjen räkna?

JS
  #6 (permalänk)  
Old 05-20-2008
eran era is offline Forum Advisor  
Herder av Useless Cats (På sabbatsår)
  
 

Join Date: mars 2008
Ort: / det är / / bara / bin / sh
Inlägg: 3652
Med perl -le'...' filnamn du får öppna / stänga dansa gratis. I ett mer komplicerat script, vill du förmodligen inte det. Om du har skriptet inrättas för att läsa filen i fråga kan du hoppa över det öppna / stänga, och helt enkelt göra my @ f \u003d <> som i din ursprungliga one-liner.

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.
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 08:33.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0