The UNIX and Linux Forums  
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Rimuovere directory che ha caratteri speciali datherriault UNIX for Dummies Domande & Risposte 12 01-14-2009 05:53 PM
rimuovere i caratteri speciali e unicode shantanuo UNIX for Dummies Domande & Risposte 1 12-05-2008 09:16 AM
Rimuovere dura da una stringa di caratteri chriss_58 Shell scripting e di programmazione 6 11-28-2008 06:07 AM
Aiuto per la ricerca e sostituzione w / stringa contenente caratteri speciali CAGIRL UNIX for Dummies Domande & Risposte 4 10-07-2008 08:13 PM
Aggiungere dopo la stringa con un'altra stringa di caratteri speciali heliode Shell scripting e di programmazione 2 03-21-2008 08:06 AM

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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 12-04-2008
chebarbudo's Avatar
chebarbudo chebarbudo is offline
Utente Registrato
  
 

Iscriviti Data: novembre 2008
Località: varie
Interventi: 188
Question Rimuovere i caratteri speciali da stringa

Hi there,
Vorrei scrivere uno script che elimina qualsiasi insieme di caratteri da una stringa. Il primo argomento sarà la stringa, il secondo argomento sarebbero i caratteri da rimuovere. Ad esempio:
Codice:
$ myscript "My name's Santiago. What's yours?" "atu"
My nme's Snigo. Wh's yors?
Ho scritto il seguente codice:
Codice:
$ cat myscript
ans=$1
for (( i=0; i<${#2}; i++ )); do
    ans=${ans//${2:$i:1}/}
done
echo "$ans"
Ma non funziona con i seguenti caratteri speciali: #% *? \
C'è un modo più semplice per farlo?
Come faccio a farlo funzionare con tutti i personaggi?

Grazie in anticipo
Santiago
  #2 (permalink)  
Old 12-04-2008
Wolfclaw Wolfclaw is offline
Utente Registrato
  
 

Join Date: Aug 2008
Interventi: 5
Prova a passare i caratteri speciali con un \ davanti.
D'altro canto il motivo per cui non è sufficiente utilizzare le espressioni regolari con sed o perl ecc?
  #3 (permalink)  
Old 12-04-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderatore
  
 

Iscriviti Data: febbraio 2007
Messaggi: 4.308
O semplicemente con tr. Controlla l'opzione-d nella pagina man.

Saluti
  #4 (permalink)  
Old 12-04-2008
chebarbudo's Avatar
chebarbudo chebarbudo is offline
Utente Registrato
  
 

Iscriviti Data: novembre 2008
Località: varie
Interventi: 188
Citazione:
Originalmente inviato da Franklin52 View Post
O semplicemente con tr. Controlla l'opzione-d nella pagina man.
Grande! L'unico personaggio che non funzionano, ma qui è backslah mia nuova soluzione:
Codice:
~$ cat myscript
echo "$1" | tr -d "${2//\\/\\\\}"
~$ myscript 'weird string !"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' ' !"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~'
            <---------------------- $1 ----------------------> <---------------- $2 ---------------->
weirdstring
~$
Thanks a lot
  #5 (permalink)  
Old 07-05-2009
summer_cherry summer_cherry is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: giugno 2007
Ubicazione: Pechino Cina
Messaggi: 1.088
Codice:
echo "My name's Santiago. What's yours?" | tr -d "atu"
  #6 (permalink)  
Old 12-04-2008
chebarbudo's Avatar
chebarbudo chebarbudo is offline
Utente Registrato
  
 

Iscriviti Data: novembre 2008
Località: varie
Interventi: 188
Citazione:
Originalmente inviato da Wolfclaw View Post
Prova a passare i caratteri speciali con un \ davanti.
D'altro canto il motivo per cui non è sufficiente utilizzare le espressioni regolari con sed o perl ecc?
Questo è esattamente ciò che avevo chiesto! Sono sicuro che c'è un modo più semplice di farlo ... Ma come?
Non riesco a passare i caratteri speciali con una barra rovesciata, perché il mio script legge il secondo argomento carattere per carattere. Quindi, se è $ 2 "\ #", lo script prima di provare a sostituire \ (e non), quindi provare a sostituire # (e non troppo).
Qualsiasi altra idea?
  #7 (permalink)  
Old 12-04-2008
Wolfclaw Wolfclaw is offline
Utente Registrato
  
 

Join Date: Aug 2008
Interventi: 5
per qualche motivo il suo lavoro con virgolette nella riga di comando argomenti. I dont sapere se questo è il motivo per cui alza le spalle * *
Reply

Segnalibri

Tag
script di shell, shell scripting, str, unix script, basi di scripting unix

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 12:42 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0