The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



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
ksh scripting hjælpe praveenbvarrier Shell Programmering og Scripting 1 04-15-2008 11:19 AM
Scripting Help! liezer Shell Programmering og Scripting 7 09-15-2006 04:52 AM
Forskellen mellem AIX shell scripting og Unix shell-scripting. haroonec Shell Programmering og Scripting 2 04-12-2006 09:12 AM
scripting guru's pls hjælpe mig med scripting på AIX thatiprashant Shell Programmering og Scripting 1 01-20-2006 07:58 PM
Hjælp! Need Help scripting! adawg1283 Shell Programmering og Scripting 7 09-29-2004 04:48 PM

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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 11-26-2008
Muki101 Muki101 is offline
Registreret Bruger
  
 

Join Date: oktober 2008
Stillinger: 9
AWK scripting

Jeg har en tekstfil, hvor teksten er blevet opdelt i stykker (to linjeskift eller fane markerer et nyt afsnit) og jeg vil gerne gøre et script som output ville slette linjeskift inden for stykke, og de forskellige stykker ville være adskilt af to linjeskift.

Så hvis mit input filen:

Code:
     The first line.
Second line.

First line of the second paragraph.
Second line of the second paragraph.
Jeg ønsker, at produktionen skal være noget lignende:
Code:
The first line. Second line.

First line of the second paragraph. Second line of the second paragraph.
Jeg har prøvet nu i nogle timer at komme op med noget fornuftigt, men jeg synes at være overskriften den forkerte måde. Jeg ville være virkelig glad, hvis nogen gav deres idé om, hvordan man kan løse problemet.

Tak!
  #2 (permalink)  
Old 11-26-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Join Date: Jun 2003
Location: Skotland
Posts: 431
Code:
#  paste - - - <infile | sed G
     The first line.    Second line.

First line of the second paragraph.     Second line of the second paragraph.
  #3 (permalink)  
Old 11-26-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Join Date: Jun 2003
Location: Skotland
Posts: 431
eller i nawk:

Code:
# nawk 'NR%3 {printf "%s ", $0;next}1(NR+1)%3{print"\n"}' infile
     The first line. Second line.

First line of the second paragraph. Second line of the second paragraph.
  #4 (permalink)  
Old 11-26-2008
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Beliggenhed: Boston, MA
Indlæg: 5.122
Og hvad hvis det punkt er mere end 2 linjer lang tid?
Code:
nawk 'BEGIN {FS=RS=""; ORS="\n\n\n"} $1=$1' infile
  #5 (permalink)  
Old 11-29-2008
Muki101 Muki101 is offline
Registreret Bruger
  
 

Join Date: oktober 2008
Stillinger: 9
Produktionen af Tytalus' kode er temmelig meget, hvad der er nødvendigt, men ja, jeg vil have den til at arbejde med afsnit længere end 2 linjer såvel. Men jeg har virkelig ikke forstået koden sig meget godt til at ændre det ordentligt. Kunne nogen forklare det lidt eller give ideer til, hvordan du kan ændre det?
  #6 (permalink)  
Old 11-29-2008
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Beliggenhed: Boston, MA
Indlæg: 5.122
Citat:
Oprindeligt Indsendt af Muki101 View Post
Produktionen af Tytalus' kode er temmelig meget, hvad der er nødvendigt, men ja, jeg vil have den til at arbejde med afsnit længere end 2 linjer såvel. Men jeg har virkelig ikke forstået koden sig meget godt til at ændre det ordentligt. Kunne nogen forklare det lidt eller give ideer til, hvordan du kan ændre det?
Har du forsøgt at min forslag?
  #7 (permalink)  
Old 11-29-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Indlæg: 4.315
vgersh99 med din løsning jeg hente dette:

Code:
$ nawk 'BEGIN {FS=RS=""; ORS="\n\n\n"} $1=$1' file
          T h e   f i r s t   l i n e .
 S e c o n d   l i n e .


F i r s t   l i n e   o f   t h e   s e c o n d   p a r a g r a p h .
 S e c o n d   l i n e   o f   t h e   s e c o n d   p a r a g r a p h .
Set the record separatorer til 2 newlines:

Code:
$ awk 'BEGIN {RS=ORS="\n\n"} $1=$1' file
The first line. Second line.

First line of the second paragraph. Second line of the second paragraph.
Hilsen
Closed Thread

Bogmærker

Tags
sed slette linje

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 07:43 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0