Come trattare con Sottostringhe in CSH

November 27

Come trattare con Sottostringhe in CSH


C-shell, o CSH, è una shell UNIX comunemente usato per l'esecuzione di comandi su un computer basato su UNIX. CSH non contiene molte delle funzioni di convenienza per manipolare le stringhe che sono comuni in più linguaggi di scripting moderne. Tuttavia, ci sono diversi metodi per l'estrazione brevi stringhe utilizzando il codice CSH e comandi standard UNIX.

istruzione

utilizzando Awk

1 Definire una stringa o insieme di stringhe da utilizzare come esempio:

set someString = "script CSH sono divertenti."
set someStringSet = (scrittori "Demand Media" "prezzo delle azioni")

2 Estrarre una stringa utilizzando la funzione del comando UNIX "substr ()" "awk". Il comando substr richiede fino a tre argomenti, in primo luogo, il numero di stringa, la seconda, la posizione del carattere e la terza, la lunghezza della stringa restituita. Eseguendo il seguente comando con someString come input sarebbe tornato "script sono divertenti."

awk '{print substr ($ 0,5)}'

Eseguendo il seguente comando con someString come input sarebbe tornato "script".

awk '{print substr ($ 0,5,7)}'

3 Utilizzare la funzione eco e l'operatore tubo per dirigere il valore della variabile stringa al comando awk. Il secondo comando restituisce la stringa "Med".

set risultato1 = echo $someString | awk '{print substr($0,5)}' echo $someString | awk '{print substr($0,5)}'
set result2 = echo $someStringSet[2] | awk '{print substr($0,8,3)}' echo $someStringSet[2] | awk '{print substr($0,8,3)}'

utilizzando Cut

4 Definire una stringa o insieme di stringhe da utilizzare come esempio:

set someString = "script CSH sono divertenti."
set someStringSet = (scrittori "Demand Media" "prezzo delle azioni")

5 Utilizzare il comando UNIX taglio per estrarre un intervallo di caratteri. Per "someStringSet" restituirebbe la stringa "prezzo di domanda", dove il qualifer "-d" specifica il delimitatore tra le parole in una stringa e "-f" specifica i campi, o parole, per tagliare.

cut -d '' -f2,5

In alternativa, è possibile utilizzare il qualifer "-c" per specificare caratteri o intervalli di caratteri da tagliare. Eseguendo il seguente comando con someStringSet come input sarebbe tornato "writeDM."

tagliare -c1-5,10,17

6 Utilizzare la funzione "echo" e l'operatore tubo per dirigere il valore della variabile stringa al comando awk.