![]() |
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| Newbie hjelp med New Line & Tom linje | kthatch | UNIX for Dummies Spørsmål og svar | 5 | 01-23-2009 04:19 |
| sed: slette regex og neste linje hvis blank | one71 | Shell programmering og Skripting | 2 | 09-18-2008 06:53 |
| Hvordan få siste ikke-tomme linjen? | tqlam | Shell programmering og Skripting | 6 | 01-17-2008 07:13 |
| Blank line? | varungupta | UNIX for Advanced & ekspertbrukere | 2 | 09-10-2007 01:52 |
| skrånende finner kommandoen som returnerer blank linje | jeffersno1 | UNIX for Dummies Spørsmål og svar | 2 | 11-15-2001 04:14 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Finn linje før blank
Hallo,
Jeg har faktisk to sakene. Først, her er filen slik den er nå. someword someword: 1 nye ord, nye ord abcd someword someword: 10 nye ord, nye ord abcd Det er whatIneed: 3 someword someword: 5 nye ord, nye ord abcd Jeg trenger å få linje før 2 blanks og flytte den til en annen fil. Jeg har prøvd å bruke sed, Men får stadig feilmeldinger. Dessuten kan det finnes ingen, en eller flere forekomster av denne innenfor filen. Jeg bør nok også nevne at dette er en del av et større perl Skriptet jeg jobber på. Jeg har alt gjort det, filen ovenfor er faktisk genereres av skriptet. Jeg har alt under den komplette, men er helt fastlåst på dette punktet. Hjelp med enten ville være verdsatt. Sist endret av ddrew78; 03-18-2009 på 07:43.. |
|
||||
|
Her er min, stygge men bør gjøre triks
(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: Finn linjen før blank
Sommeren kirsebær,
her er det jeg endte opp med i mitt script: #! / usr / bin /perl åpne $ fh ,"<"," myfile "; åpne $ ut ,">>"," mynewfile "; undef $ /; $ str \u003d <$ fh>; print $ ut split (/ \ n ^ $ \ n ^ $ \ n / s, $ str, 2) [0]; Jeg fikk feilmeldingen nedenfor. Noen ideer? Jeg setter pris på hjelp. syntaksfeil på ansipre2 linje 7, i nærheten av ") [" Utførelse av ansipre2 avbrutt grunnet kompilering feil. |
|
||||
|
Re: Finn linjen før blank
Sitat:
Takk for svar. Dessverre Jeg er ny i dette og kan ikke finne ut hvordan man skal implementere dette i min skriptet. Nedenfor er de to siste linjene i skriptet for å hente fila jeg hadde ovenfor. system "dos2unix ansi3> ansi7"; system "mv ansi7 ansi3"; Takk for hjelp. |
|
||||
|
Takk til alle som har hjulpet meg på denne. Etter mye smerte jeg bestemte meg for å gå en annen rute og i stedet legges gjentagende streng til den forrige linje. Tildelt, som resulterte i noen ekstra linjer med kode, men hva pokker. Bare en info nedenfor er koden som endte opp med å gi meg linjene jeg opprinnelig var ute etter.
åpen (FILE7, "> file7"); åpen (MYINPUTFILE, "file3"); while (<MYINPUTFILE>) ( chomp; my $ someword \u003d ""; my $ nye ord \u003d ""; if (/ ^ someword /) ($ someword \u003d $ _; mens (<MYINPUTFILE>) (chomp; if (/ ^ nye ord /) ( print FILE7 "$ someword $ _"; print FILE7 "\ n";) sist; ) ) ) system "mv file7 file3"; system "dos2unix file3> file7"; system "mv file7 file3"; system "katt file3 | cut-d" "-f1-2>> file0 '; system "sort-n file0> file1"; system "mv file1 file0"; system "sortere file0 | Unike-u> file1"; system "mv file1 file0"; |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|