![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| Sådan finder du antal linjer i en fil | somesh_p | Shell Programmering og Scripting | 2 | 12-19-2007 09:15 PM |
| Samlet antal linjer i en fil | Raynon | Shell Programmering og Scripting | 9 | 10-04-2007 10:13 AM |
| skære en række linjer ud af en fil | networkfre @ k | Shell Programmering og Scripting | 1 | 12-09-2005 01:46 AM |
| Behov ls at vise antallet af linjer i hver fil | GMMike | UNIX for dummyer Spørgsmål & svar | 1 | 11-19-2004 05:53 AM |
| Tælle antallet af Dubler Lines i en fil | crunchtime | UNIX for dummyer Spørgsmål & svar | 2 | 07-04-2003 02:24 PM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Hi All,
Den nedenstående kommando giver antallet af linjer i en fil perl -le 'print $\u003d\u003d()\u003d<>' <fil_navn> Jeg vil bruge denne kommando inde i en perl script og lagre output i en variabel. Hvordan kan jeg gøre dette? Er deres andre metoder til at vedtage dette? Thanks in advance JS |
|
||||
|
Din kode allerede giver antallet af linjer til de variable $ \u003d (som er en virkelig obskure ting at gøre alligevel), bare ændrer det til enhver variabel, du virkelig ønsker.
Mere generelt, hvis du læser en fil i et array, så @ array i skalar sammenhæng vil fortælle dig, hvor mange linjer er i denne matrix. Formentlig du ønsker at gøre noget mere med sagen end blot at tælle antallet af linjer i det. |
|
||||
|
Tak Era.
Faktisk jeg fik koden fra internettet, og gad ikke at finde, hvordan det fungerer (dumt af mig) .. Jeg ønsker blot at gemme antallet af linjer i en fil i variablen. Jeg bruger til at gøre følgende inde i et shell script (siger 1.sh) wc-l "sample_file_name"> 1.txt nej no_lof_line \u003d `cut-d" "-F1 1.txt` Jeg skal bruge de samme grundlæg her "inde i" en perl script (siger test.pl) Jeg stadig tvivler på, at den kode, jeg sagde i den første tråd stadig arbejder inde i en perl script. |
|
||||
|
Code:
my $f = "sample_file_name"; open (F, $f) || die "Could not open $f: $!\n"; my @f = <F>; close F; my $lines = @f; Code:
no_lof_line=`wc -l <sample_file_name` |
|
||||
|
Med perl -le'...' filnavn du får den åbne / lukke dans gratis. I en mere kompleks script, sandsynligvis du ikke ønsker det. Hvis du har scriptet sat op til at læse den pågældende fil kan du springe den åbne / lukke, og simpelthen gøre my @ f \u003d <> gerne i din oprindelige one-liner.
Hvis du allerede har filens indhold i en variabel $ string, så du kan tælle newlines derinde med en simpel $ lines \u003d () \u003d $ string \u003d ~ m / \ n / g - Dette er en kryptisk synonym med en temmelig kompleks serie af kommandoer, som igen vil tage flere linjer i almindelig skrift i hånden, ikke-uklar form. |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|