![]() |
|
|
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 |
| Newbie hjælpe med New Line & Blank Line | kthatch | UNIX for dummyer Spørgsmål & svar | 5 | 01-23-2009 04:19 PM |
| sed: slette regex linje og næste linje, hvis blank | one71 | Shell Programmering og Scripting | 2 | 09-18-2008 06:53 AM |
| Hvordan kommer man sidste ikke-tomme linje? | tqlam | Shell Programmering og Scripting | 6 | 01-17-2008 07:13 PM |
| Tom linje? | varungupta | UNIX for Advanced & Ekspertsøgning Brugere | 2 | 09-10-2007 01:52 PM |
| cant find kommandoen, der returnerer tomme linje | jeffersno1 | UNIX for dummyer Spørgsmål & svar | 2 | 11-15-2001 04:14 PM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Find linje før blank
Hej,
Jeg har to spørgsmål. Først her er den fil den måde er det nu. someword someword: 1 nye ord nye ord abcd someword someword: 10 nye ord nye ord abcd thisis whatIneed: 3 someword someword: 5 nye ord nye ord abcd Jeg har brug for at få den linje før 2 blanktegn og flytte den til en anden fil. Jeg har prøvet at bruge sed, Men bliver ved med at få fejlmeddelelser. Ligeledes kan der være ingen, en eller flere forekomster af dette inden for den fil. Jeg bør nok også nævne, at dette er en del af en større perl script jeg arbejder på. Jeg har alt andet gjort, filen ovenfor er faktisk genereres af scriptet. Jeg har også alt under det komplette, men jeg er helt i stå på dette punkt. Enhver hjælpe med enten ville blive værdsat. Sidst redigeret af ddrew78; 03-18-2009 på 07:43 PM.. |
|
||||
|
Her er mine, grim, men skulle kunne gøre det (ikke testet) Code:
awk 'BEGIN{i=0}
{ content[NR]=$0; if (($0=="")) {b[i]=NR;i++} j++;}
END
{
for (x=0;x<=b[0];x++)
{print content[x] > "file1" } for (x=b[1];x<=j; x++) { print content[x] > "file2"}
}' /var/tmp/file
|
|
||||
|
Re: Find linje før blank
sommeren cherry,
her er, hvad jeg endte med i mit script: #! / usr / bin /perl open $ fh ,"<"," myfile "; åbne $ out ,">>"," mynewfile "; undef $ /; $ str \u003d <$ fh>; print $ out split (/ \ n ^ $ \ n ^ $ \ n / s, $ str, 2) [0]; Jeg fik fejlmeddelelsen nedenfor. Nogen idéer? Jeg sætter pris på at få hjælp. syntaksfejl på ansipre2 linje 7, i nærheden ") [" Udførelse af ansipre2 afbrudt på grund af udarbejdelse fejl. |
|
||||
|
Re: Find linje før blank
Citat:
Tak for svaret. Desværre jeg er ny her og kan ikke finde ud af, hvordan man gennemfører dette i mit script. Nedenfor er de to sidste linjer i script til at få den fil jeg havde ovenfor. system "dos2unix ansi3> ansi7"; system "MV ansi7 ansi3"; Tak igen for enhver hjælp. |
|
||||
|
Tak til alle som har hjulpet mig på denne. Efter megen smerte jeg besluttede at gå en anden vej og i stedet vedlagt den repetitive string til det foregående linje. Meddelt, som resulterede i et par ekstra linjer kode, men hvad dælen. Bare en FYI, nedenfor, er den kode, der endte med at give mig linjer Jeg var oprindeligt søger.
åben (FILE7, "> file7"); åben (MYINPUTFILE, "fil3"); while (<MYINPUTFILE>) ( chomp; min $ someword \u003d ""; min $ nye ord \u003d ""; if (/ ^ someword /) ($ someword \u003d $ _; samtidig (<MYINPUTFILE>) (chomp; if (/ ^ nye ord /) ( print FILE7 "$ someword $ _"; print FILE7 "\ n";) sidste; ) ) ) system "MV file7 fil3"; system "dos2unix fil3> file7"; system "MV file7 fil3"; system "kat fil3 | cut-d" "-f1-2>> file0 '; system "sortere-n file0> file1"; system "MV file1 file0"; system "sortere file0 | Entydige-u> file1"; system "MV file1 file0"; |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|