The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

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
Fjern etterfølgende mellomrom etter skilletegn kiran_418 UNIX for Dummies Spørsmål og svar 1 04-29-2008 02:19
Slik fjerner etterfølgende mellomrom mahek_bedi UNIX for Dummies Spørsmål og svar 2 08-10-2007 07:21
Fjerne ledende og etterfølgende mellomrom av data mellom kodene i XML. jhmr7 UNIX for Dummies Spørsmål og svar 2 05-18-2005 10:27
Strip ledende og etterfølgende mellomrom bare i et shell variabel med innebygd mellomrom jerardfjay Shell programmering og Skripting 6 03-07-2005 02:24
Legge etterfølgende mellomrom til en fil 222001459 UNIX for Dummies Spørsmål og svar 1 11-04-2004 03:23

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 10-28-2003
sleepster sleepster is offline
Registrert bruker
  
 

Bli Dato: Sep 2003
Innlegg: 16
Ledende og etterfølgende mellomrom

Hei,

Hvordan fjerner jeg ledende og etterfølgende mellomrom fra en linje? rommene kan være bak eller foran alle felt eller linjen

eksempel på en linje i input data:

Amy rød, 100, / bin / sh

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

Jeg så noe om dette på man-sidene for awk men jeg dont virkelig forstår hva det var snakk om .. kan noen hjelpe?

takk
  #2 (permalink)  
Old 10-28-2003
TioTony's Avatar
TioTony TioTony is offline Forum Advisor  
Bit pusher
  
 

Bli Dato: Oct 2001
Beliggenhet: Sør-California
Innlegg: 332
Bruker du et shell script eller VI å gjøre dette?

For et shell script kan du bruke sed slik:

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

I VI den er svært lik

:% s / / / g

Dette forutsetter at du vil gjøre dette for hver enkelt linje i filen, og forutsetter at du har mellomrom, ikke kategorier eller andre mellomrom.

Hvis du kan gi mer detaljert er jeg sikker på at du vil få et mer konkret svar.
  #3 (permalink)  
Old 10-29-2003
sleepster sleepster is offline
Registrert bruker
  
 

Bli Dato: Sep 2003
Innlegg: 16
thanks for your reply

Jeg bruker VI å gjøre dette .. Jeg prøvde sed og den ikke gi meg utdataene Jeg vil .. Amy rød, 100, / bin / sh -> ville gi meg en utgang uten mellomrom mellom

Jeg ønsker å få output som -> Amy rød, 100, / bin / sh
det er et mellomrom mellom fornavn og etternavn

Jeg så på noen websider og awk synes å være svaret, men jeg dont vite hvordan den skal brukes.

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

Bli Dato: Oct 2003
Beliggenhet: -31.96,115.84
Innlegg: 1407
Virker som du bare vil fjerne bare mellomrom hver side av komma. Prøv ...
Code:
echo "Amy Reds , 100 , /bin/sh" | sed 's/[ ]*,[ ]*/,/g'
  #5 (permalink)  
Old 10-29-2003
sleepster sleepster is offline
Registrert bruker
  
 

Bli Dato: Sep 2003
Innlegg: 16
ja Ygor, som nesten gjør det

Kan du forklare hva symbolene [] og * mener her?

også hva hvis det er mellomrom foran og bak linjen?

"Amy rød, 100, / bin / sh"

takk
  #6 (permalink)  
Old 10-29-2003
Simerian Simerian is offline
Registrert bruker
  
 

Bli Dato: Oct 2003
Bosted: Storbritannia
Innlegg: 37
Regular Expressions

Mønsteret er et vanlig uttrykk

[] Betegner en rekke tegn innenfor bracketed grensen, i dette tilfellet ett enkelt mellomrom.

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

Dermed mønsteret, [] * angir et mønster match for 0 eller flere rom. Steder hver side av et komma de produserer effekten av mathcing komma omgitt av mellomrom og deretter konvertere Matchet strengen til en enkelt komma.

Du vil kanskje også se på bruken av [: space:] hvilken hovedsakelig Kmp eventuelle mellomrom (dvs. kategoriene også).
  #7 (permalink)  
Old 10-29-2003
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Moderator
  
 

Bli Dato: Oct 2003
Beliggenhet: -31.96,115.84
Innlegg: 1407
Slik fjerner mellomrom hver side av et komma og ledende / etterfølgende mellomrom. Prøv ...
Code:
sed -e 's/[ ]*,[ ]*/,/g' -e 's/^[ ]*//' -e 's/[ ]*$//' file1
Hvor ...

[] * \u003d En rekke private
^ \u003d Begynnelsen av linjen
$ \u003d Slutten av linjen

Mannen regexp for flere detaljer.

Du kan også bruke awk, hvis du foretrekker det ...
Code:
awk 'BEGIN{FS=OFS=","}{for(i=1;i<=NF;i++)gsub("(^[ ]*)|([ ]*$)","",$i)};1' file1
Closed Thread

Hugseliste

Tags
regex, regeluttrykk

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 01:41.


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