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
Fjern katalog som har spesialtegn datherriault UNIX for Dummies Spørsmål og svar 12 01-14-2009 05:53
fjerne spesielle og unicode tegn shantanuo UNIX for Dummies Spørsmål og svar 1 12-05-2008 09:16
Fjern varer tegn fra en streng chriss_58 Shell programmering og Skripting 6 11-28-2008 06:07
Hjelp med å finne og erstatte m / streng som inneholder spesialtegn CAGIRL UNIX for Dummies Spørsmål og svar 4 10-07-2008 08:13
Legg streng etter en streng med spesialtegn heliode Shell programmering og Skripting 2 03-21-2008 08:06

Reply
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 12-04-2008
chebarbudo's Avatar
chebarbudo chebarbudo is offline
Registrert bruker
  
 

Bli Dato: november 2008
Beliggenhet: ulike
Innlegg: 188
Question Fjern spesialtegn fra string

Hei,
Jeg vil skrive et skript som fjerner et sett av tegn fra en streng. Det første argumentet ville være streng, det andre argumentet ville være tegn å fjerne. For eksempel:
Code:
$ myscript "My name's Santiago. What's yours?" "atu"
My nme's Snigo. Wh's yors?
Jeg skrev følgende kode:
Code:
$ cat myscript
ans=$1
for (( i=0; i<${#2}; i++ )); do
    ans=${ans//${2:$i:1}/}
done
echo "$ans"
Men det fungerer ikke med følgende spesialtegn: #% *? \
Er det noen enklere måte å gjøre det?
Hvordan kan jeg få den til å fungere med alle tegn?

Takk på forhånd
Santiago
  #2 (permalink)  
Old 12-04-2008
Wolfclaw Wolfclaw is offline
Registrert bruker
  
 

Bli Dato: Aug 2008
Innlegg: 5
Prøv passert spesialtegn med \ foran.
På den andre siden hvorfor ikke bare bruke vanlige uttrykk med sed eller perl etc.?
  #3 (permalink)  
Old 12-04-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Bli Date: Feb 2007
Innlegg: 4315
Eller bare med tr. Kontroller-d alternativet i man-siden.

Hilsen
  #4 (permalink)  
Old 12-04-2008
chebarbudo's Avatar
chebarbudo chebarbudo is offline
Registrert bruker
  
 

Bli Dato: november 2008
Beliggenhet: ulike
Innlegg: 188
Sitat:
Originally Posted by Franklin52 View Post
Eller bare med tr. Kontroller-d alternativet i man-siden.
Flott! Det eneste tegn som ikke er backslah men her meg ny løsning:
Code:
~$ cat myscript
echo "$1" | tr -d "${2//\\/\\\\}"
~$ myscript 'weird string !"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' ' !"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~'
            <---------------------- $1 ----------------------> <---------------- $2 ---------------->
weirdstring
~$
Takk
  #5 (permalink)  
Old 07-05-2009
summer_cherry summer_cherry is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: juni 2007
Sted: Beijing Kina
Innlegg: 1088
Code:
echo "My name's Santiago. What's yours?" | tr -d "atu"
  #6 (permalink)  
Old 12-04-2008
chebarbudo's Avatar
chebarbudo chebarbudo is offline
Registrert bruker
  
 

Bli Dato: november 2008
Beliggenhet: ulike
Innlegg: 188
Sitat:
Originally Posted by Wolfclaw View Post
Prøv passert spesialtegn med \ foran.
På den andre siden hvorfor ikke bare bruke vanlige uttrykk med sed eller perl etc.?
Det er nøyaktig hva jeg spør! Jeg er sikker på at det finnes en enklere måte å gjøre det ... Men hvordan?
Jeg kan ikke passere spesialtegn med backslash fordi min Skriptet leser andre argumentet tegnet av karakter. Så hvis $ 2 er "\ #", vil skriptet første forsøk på å erstatte \ (og den ikke) prøv deretter å erstatte # (og den ikke altfor).
Enhver annen idé?
  #7 (permalink)  
Old 12-04-2008
Wolfclaw Wolfclaw is offline
Registrert bruker
  
 

Bli Dato: Aug 2008
Innlegg: 5
annen grunn sitt arbeide med enkle anførselstegn i kommandolinje argumenter. Jeg dont vite hvorfor dette er skjønt * shrugs *
Reply

Hugseliste

Tags
shell script, shell scripting, str, unix scripting, UNIX scripting Grunnleggende

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 04:50.


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