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
Fjern efterfølgende mellemrum efter et afgrænsningstegn kiran_418 UNIX for dummyer Spørgsmål & svar 1 04-29-2008 03:19 PM
Sådan fjernes efterfølgende mellemrum mahek_bedi UNIX for dummyer Spørgsmål & svar 2 08-10-2007 08:21 AM
Fjernelse førende og efterfølgende mellemrum af data mellem de tags i XML. jhmr7 UNIX for dummyer Spørgsmål & svar 2 05-18-2005 11:27 AM
Striben førende og efterfølgende mellemrum kun i en shell variable med indlejret rum jerardfjay Shell Programmering og Scripting 6 03-07-2005 02:24 PM
Tilføjelse efterfølgende mellemrum til en fil 222001459 UNIX for dummyer Spørgsmål & svar 1 11-04-2004 03:23 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 10-28-2003
sleepster sleepster is offline
Registreret Bruger
  
 

Join Date: Sep 2003
Stillinger: 16
Førende og efterfølgende mellemrum

Hej,

hvordan jeg fjerne førende og efterfølgende mellemrum fra en linje? rummene kan være bag eller foran et hvilket som helst område eller linje

eksempel på en linje i inputdata:

Amy røde farver, 100, / bin / sh

hvordan jeg får det til at være: Amy Læs, 100, / bin / sh

Jeg så noget på dette om Man sider til AWK men jeg dont virkelig forstår, hvad det var tale om .. Kunne nogen hjælp?

tak
  #2 (permalink)  
Old 10-28-2003
TioTony's Avatar
TioTony TioTony is offline Forum Advisor  
Bit skubbebåd
  
 

Join Date: oktober 2001
Location: Southern California
Stillinger: 332
Arbejder du i et shell script eller VI at gøre dette?

For et shell script du kunne bruge sed sådan her ud:

echo "Amy røde farver, 100, / bin / sh" | sed 's / / / g'

I VI det er meget lig

:% s / / / g

Dette forudsætter, at du vil gøre dette til hver linje i filen, og også antages, at du har rum, ikke faner eller andre whitespace.

Hvis du kan give mere specifikke jeg er sikker på du vil få et mere konkret svar.
  #3 (permalink)  
Old 10-29-2003
sleepster sleepster is offline
Registreret Bruger
  
 

Join Date: Sep 2003
Stillinger: 16
tak for dit svar

Jeg bruger VI at gøre dette .. Jeg forsøgte sed og det ikke giver mig output jeg vil .. Amy røde farver, 100, / bin / sh -> ville give mig en produktion uden mellemrum mellem

Jeg ønsker at få produktionen, som -> Amy røde farver, 100, / bin / sh
der er et mellemrum mellem fornavn og efternavn

Jeg så på nogle websider og AWK synes at være svaret, men jeg dont kende hvordan det anvendes.

tak.
  #4 (permalink)  
Old 10-29-2003
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Moderator
  
 

Join Date: oktober 2003
Beliggenhed: -31.96,115.84
Indlæg: 1.409
Synes lige du kun ønsker at fjerne kun de rum på hver side af et komma. Prøv ...

Code:
echo "Amy Reds , 100 , /bin/sh" | sed 's/[ ]*,[ ]*/,/g'

  #5 (permalink)  
Old 10-29-2003
sleepster sleepster is offline
Registreret Bruger
  
 

Join Date: Sep 2003
Stillinger: 16
ja Ygor, at næsten virker det

Kan De forklare, hvad de symboler, [] og * betyder her?

også det, hvis der er rum foran og bag linjen?

"Amy røde farver, 100, / bin / sh"

tak
  #6 (permalink)  
Old 10-29-2003
Simerian Simerian is offline
Registreret Bruger
  
 

Join Date: oktober 2003
Beliggenhed: Storbritannien
Stillinger: 37
Regular Expressions

Mønsteret er et regulært udtryk

[] Angiver en række bogstaver i parentes grænsen, i dette tilfælde et enkelt mellemrum.

Følgende * betegner "0 eller flere forekomster".

Det mønster, [] * betegner et mønster passer til 0 eller flere rum. Steder på hver side af et komma, de producerer virkningen af mathcing et komma omgivet af mellemrum og derefter konvertere den matchede strengen til et enkelt komma.

Du kan også tjekke op på brugen af [: space:] som hovedsageligt matcher alle whitespace (dvs. faner også).
  #7 (permalink)  
Old 10-29-2003
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Moderator
  
 

Join Date: oktober 2003
Beliggenhed: -31.96,115.84
Indlæg: 1.409
At fjerne rum på hver side af et komma og førende / efterfølgende mellemrum. Prøv ...

Code:
sed -e 's/[ ]*,[ ]*/,/g' -e 's/^[ ]*//' -e 's/[ ]*$//' file1

Hvis ...

[] * \u003d Et hvilket som helst antal rum
^ \u003d Begyndelsen af linjen
$ \u003d Slutningen af linjen

mand regexp for flere detaljer.

Du kan også bruge awk, hvis du foretrækker ...

Code:
awk 'BEGIN{FS=OFS=","}{for(i=1;i<=NF;i++)gsub("(^[ ]*)|([ ]*$)","",$i)};1' file1

Closed Thread

Bogmærker

Tags
regex, regulære udtryk

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 03:02 AM.


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