[Risolto] splittare una lista BASH
-
- Prode Principiante
- Messaggi: 18
- Iscrizione: mercoledì 4 febbraio 2015, 19:57
- Sesso: Maschile
[Risolto] splittare una lista BASH
Ciao a tutti.
Ho un problema sicuramente stupido in sostanza devo dividere una lista di file "OK_all.txt" (che contiene circa 2000 righe) in delle liste composte da 50 o 100 elementi.
Questo è lo script che ho scritto:
!/bin/bash
COUNTER=0
while read line
do
for i in {0..20}
echo $COUNTER
if [ expr $COUNTER % 50 ];
then
echo $line >> ${i}.splitted_lists.txt
else
continue
fi
let COUNTER=COUNTER+1
done
done<OK_all.txt
E questo è l'errore:
./split_list.sh: line 9: syntax error near unexpected token `echo'
./split_list.sh: line 9: ` echo $COUNTER'
Qualcuno può dirmi dove sbaglio ?
Ho un problema sicuramente stupido in sostanza devo dividere una lista di file "OK_all.txt" (che contiene circa 2000 righe) in delle liste composte da 50 o 100 elementi.
Questo è lo script che ho scritto:
!/bin/bash
COUNTER=0
while read line
do
for i in {0..20}
echo $COUNTER
if [ expr $COUNTER % 50 ];
then
echo $line >> ${i}.splitted_lists.txt
else
continue
fi
let COUNTER=COUNTER+1
done
done<OK_all.txt
E questo è l'errore:
./split_list.sh: line 9: syntax error near unexpected token `echo'
./split_list.sh: line 9: ` echo $COUNTER'
Qualcuno può dirmi dove sbaglio ?
Ultima modifica di Mr_Piada il sabato 6 febbraio 2016, 20:53, modificato 1 volta in totale.
- jackynet92
- Moderatore Globale
- Messaggi: 13413
- Iscrizione: sabato 3 settembre 2011, 1:41
- Desktop: Mate
- Distribuzione: Ubuntu 16.04 64bit
- Sesso: Maschile
- Località: Torino
Re: splittare una lista BASH
Per postare correttamente i risultati del terminale e/o listati sul forum basta:
Provvedi a correggere il post, basta cliccare su modifica e seguire la procedura che ti ho spiegato.
- 1. selezionare il testo del terminale
2. tasto destro copia (in alternativa premere Ctrl + maiusc + C)
3. incollare sul forum negli appropriati code, ovvero selezionare il testo e cliccare su Codice
Codice: Seleziona tutto
[color=#FF0000] qui inserisci il testo [/color][ /code]
[code]in modo da ottenere qualcosa di simile
I limiti esistono solo perché noi possiamo superarli.
-
- Prode Principiante
- Messaggi: 18
- Iscrizione: mercoledì 4 febbraio 2015, 19:57
- Sesso: Maschile
Re: splittare una lista BASH
ok grazie !
Hai anche una risposta alla domanda ? Lol
Hai anche una risposta alla domanda ? Lol
- crap0101
- Rampante Reduce
- Messaggi: 8242
- Iscrizione: martedì 30 ottobre 2007, 6:33
- Desktop: LXDE
- Distribuzione: Ubuntu 18.04.1 LTS
- Sesso: Maschile
- Località: TO
- Contatti:
Re: splittare una lista BASH
Codice: Seleziona tutto
for QUALCOSA; do QUALCOSALTRO; done
Codice: Seleziona tutto
COUNTER % 50 == 0
btw se vuoi usare expr togli le [ ] dall'if.
(*)Inoltre l'incremento di COUNTER lo devi fare da un'altra parte, altrimenti raggiunto un numero (come lo zero da cui parti) per cui
Codice: Seleziona tutto
COUNTER % 50 == 0
Per finire, c'è split che fa quello che vuoi, al massimo se ti serve che i file abbiano un nome particolare (e come li nomina lui non vanno bene) li rinomini in un secondo tempo.
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
-
- Prode Principiante
- Messaggi: 18
- Iscrizione: mercoledì 4 febbraio 2015, 19:57
- Sesso: Maschile
Re: splittare una lista BASH
Ottimo consiglio riguardo a tutto.....grazie mille
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 20 ospiti