The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



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
gjøre flere linje inneholder et mønster i én linje VTAWKVT Shell programmering og Skripting 13 12-04-2008 06:40
erstatte flere linjer med én linje siba.s.nayak Shell programmering og Skripting 3 05-28-2008 03:43
Splitte linjen på flere linjer dd_sh Shell programmering og Skripting 3 03-31-2008 02:54
Lese flere linjer som singel braindrain Shell programmering og Skripting 9 10-18-2006 11:16
Trenger utgang på forskjellige linjer i en enkelt linje csaha Shell programmering og Skripting 1 02-08-2006 08:28

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 denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 02-22-2005
thanuman thanuman is offline
Registrert bruker
  
 

Bli Date: Mar 2004
Innlegg: 24
Splitting én linje i flere linjer

Jeg har en sak der jeg trenger å se på en fil.
Gå til hver linje av filen, finne lengden på linjen, hvis lengden på linjen er mer enn 75 tegn, jeg trenger å splitte linjen i flere linjer med 75chars max. Hvis lengden på linjen er mindre enn 75, vi trenger ikke gjøre noe.
Så på slutten av denne operasjonen, den maksimale lengden på anyline i filen bør bare 75.

Ex: file har 3 linjer
1ste linje: 20chars
2dre linje: 85chars
3dje linje: 160chars

etter kjøre skript,
Filen bør

1ste linje: 20 tegn

2dre linje: 75 tegn
3dje linje: 10 tegn

4de linje: 75 tegn
5te line: 75 tegn
6te linje: 10 tegn

Takk for hjelpen
  #2 (permalink)  
Old 02-23-2005
bhargav's Avatar
bhargav bhargav is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: Sep 2004
Beliggenhet: USA
Innlegg: 511
Prøv følgende ....

Men koden er testet med 5 tegn som kriterium i stedet for 75.
Endre pr dine krav.



Code:
awk '{
  if ( length($0) > 5 )
  {
      str=$0 ;
      i=0 ;
      while(length(str) > 5)
      {
        printf("%s\n",substr($0,i+1,5) );
        i+=5 ;
        str=substr($0,i,length($0) );
      }

      if( length(str) > 1 )
        printf("%s\n", substr(str,2,length(str))) ;

  }
  else
  {
      print $0
  }
}' file1

  #3 (permalink)  
Old 02-23-2005
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Moderator
  
 

Bli Dato: Oct 2003
Beliggenhet: -31.96,115.84
Innlegg: 1409
Eller ...
Code:
fold -75 file1 > file2

  #4 (permalink)  
Old 02-23-2005
bhargav's Avatar
bhargav bhargav is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: Sep 2004
Beliggenhet: USA
Innlegg: 511
fold-w 5 file1> file2


god Ygor! Jeg foretrekker denne i forhold til det lang en i wrote. :-)
  #5 (permalink)  
Old 02-23-2005
thanuman thanuman is offline
Registrert bruker
  
 

Bli Date: Mar 2004
Innlegg: 24
Takk for svar. Det er arbeider stor ...
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 05:31.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0