[Risolto][Bash] Scambiare elementi di un array

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
plexott
Prode Principiante
Messaggi: 31
Iscrizione: sabato 20 febbraio 2010, 10:26
Località: Prato

[Risolto][Bash] Scambiare elementi di un array

Messaggio da plexott »

Ho un array con diversi elementi, e vorrei scambiarne alcuni "di posto"; ma se faccio (per esempio)

Codice: Seleziona tutto

col[5]=${col[10]}
col[10]=${col[15]}
col[15]=${col[5]}
l'ultima riga mi copia l'attuale elemento con indice 5, non il vecchio, che ormai è stato cancellato. Esiste un modo diverso per farlo? Altrimenti mi tocca copiare tutto l'array con un nome nuovo, mettere i nuovi elementi nell'array nuovo copiandoli dall'array vecchio, poi cancellare l'array vecchio e rinominare il nuovo... mi pare assurdo!
Ultima modifica di plexott il mercoledì 13 agosto 2014, 13:43, modificato 1 volta in totale.
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [Bash] Scambiare elementi di un array

Messaggio da Zoff »

usa una variabile temporanea:

Codice: Seleziona tutto

tmp=${col[5]}
col[5]=${col[10]}
col[10]=${col[15]}
col[15]=$tmp
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
plexott
Prode Principiante
Messaggi: 31
Iscrizione: sabato 20 febbraio 2010, 10:26
Località: Prato

Re: [Bash] Scambiare elementi di un array

Messaggio da plexott »

non è esattamente lo "scambio di posto" che immaginavo, ma è un bel sistema per aggirare l'ostacolo :)
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [Bash] Scambiare elementi di un array

Messaggio da Zoff »

È il metodo che viene utilizzato in tutti i linguaggi che non offrono lo scambio immediato in una singola istruzione
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 14 ospiti