![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| 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 |
| Leggi csv in Hash array? | kinmak | Shell scripting e di programmazione | 1 | 05-07-2008 11:35 AM |
| Come leggere dal file txt e l'uso che, come un array | Pinky | UNIX for Dummies Domande & Risposte | 4 | 10-08-2007 01:18 AM |
| creare array di caratteri di partecipazione sring then echo array. | rorey_breaker | Shell scripting e di programmazione | 5 | 09-28-2007 09:42 AM |
| ls mentre leggere loop - interno leggere raccogliendo sbagliato ingresso | dkieran | Shell scripting e di programmazione | 2 | 05-14-2007 04:02 PM |
| Come faccio a leggere array elementi dinamicamente in bash? | haisubbu | UNIX for Dummies Domande & Risposte | 1 | 08-29-2006 03:19 AM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
come leggere un valore var in array
Salve
Ho bisogno di leggere un valore della variabile in modo che ciascun array di caratteri / cifre diventerà un elemento di array, ad esempio: A \u003d 147921231432545436547568678679870 Il risultato dovrebbe essere in possesso di ciascun array cifre come un elemento. Grazie per qualsiasi aiuto-A |
|
||||
|
Citazione:
Ecco la soluzione bash: Codice:
$ A=147921231432545436547568678679870
$ set -- $(for i in $(seq 0 $((${#A} - 1)));do printf "%s " ${A:$i:1};done)
$ echo $*
1 4 7 9 2 1 2 3 1 4 3 2 5 4 5 4 3 6 5 4 7 5 6 8 6 7 8 6 7 9 8 7 0
... o awk soluzione: Codice:
set -- $(awk -v v="$A" 'BEGIN{split(v,a,"");for (i=1;i<= length(v);i++) printf "%s ",a[i]}')
Ultimo a cura di danmero; al 07/24/2008 01:16 PM.. Motivo: aggiungere awk soluzione |
|
||||
|
Mi piace un po 'meglio di danmero l'esempio, come in realtà si mette in un array: Codice:
for i in $(seq 0 $((${#string}-1))); do array[$i]=${string:$i:1}; done
Che produce: Codice:
$ A=147921231432545436547568678679870; for i in $(seq 0 $((${#A}-1))); do array[$i]=${A:$i:1}; done
$ set | grep array
array=([0]="1" [1]="4" [2]="7" [3]="9" [4]="2" [5]="1" [6]="2" [7]="3" [8]="1" [9]="4" [10]="3" [11]="2" [12]="5" [13]="4" [14]="5" [15]="4" [16]="3" [17]="6" [18]="5" [19]="4" [20]="7" [21]="5" [22]="6" [23]="8" [24]="6" [25]="7" [26]="8" [27]="6" [28]="7" [29]="9" [30]="8" [31]="7" [32]="0" [33]="")
Si noti che questo non andrà a buon fine, soprattutto per grandi archi, basta uscire per un po 'di tempo e l'uso (o uno stile per C-()), invece. Se questo è quello che stai cercando, è anche possibile creare lo stesso effetto di danmero's script con sed: Codice:
$ echo 147921231432545436547568678679870 | sed 's/\(.\)/\1 /g' 1 4 7 9 2 1 2 3 1 4 3 2 5 4 5 4 3 6 5 4 7 5 6 8 6 7 8 6 7 9 8 7 0 Ultimo a cura di BMDan; al 07/24/2008 03:09 PM.. Motivo: Aggiungi sed soluzione |
![]() |
| Segnalibri |
| Tag |
| shell array, variabile manipolazione |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|