in script bash Voglio selezionare N righe casuali dal file di input e l'output in un altro file. come si può fare?Seleziona righe casuali da un file in bash
risposta
ordinare i file in modo casuale e prima scelta 100
linee:
$ sort -R input | head -n 100 >output
'sort' ordina effettivamente le linee identiche insieme, quindi se potresti avere linee duplicate e tu avere 'shuf' (uno strumento gnu) installato, è meglio usarlo per questo. – Kevin
Andalso, questo sicuramente ti farà aspettare ** molto ** se hai un file considerevolmente grande - 80kk linee -, mentre, 'shuf -n' agisce abbastanza istantaneamente. – Rubens
sort -R non è disponibile in Mac OS X (10.9) – tfb785
Utilizzare shuf
con l'opzione -n
come illustrato di seguito, per ottenere N
linee casuali:
shuf -n N input > output
Questa dovrebbe essere la risposta accettata. Wow, shuf è così veloce. - Il prelievo di 10000 righe casuali da un file di testo con 40000 linee è istantaneo.Cercando di usare 'sort -R' mi ci è voluto così tanto che ho appena CTRL-C it – carpii
Se hai solo bisogno di un insieme casuale di linee, non in un ordine casuale, shuf è molto inefficiente (per file di grandi dimensioni): meglio è fare il reservoir campionamento, come in [questa risposta] (https://stackoverflow.com/a/692401/933228). – petrelharp
né shuf né sort -R sono disponibili per mac OSX. eventuali suggerimenti? –
- 1. seleziona le righe interessate da un aggiornamento
- 2. Seleziona righe distinte da MongoDB
- 3. Rails seleziona record casuali
- 4. Seleziona righe distinte da datatable in Linq
- 5. selezionare le righe casuali da tavolo mysql
- 6. Leggi un numero di righe casuali da un file in Python
- 7. Come estrarre alcune righe casuali da un data.table al volo
- 8. Seleziona righe da Numpy Rec Array
- 9. Righe univoche in bash
- 10. Come creare più file con dati casuali con bash
- 11. Selezione di righe casuali in MySQL
- 12. PHP MySQL selezionare righe casuali
- 13. Generazione di numeri casuali con awk nella shell BASH
- 14. Seleziona righe senza valori mancanti in R
- 15. Seleziona righe in alto e in basso
- 16. Ottieni elementi casuali da hashset?
- 17. query per estrarre le righe casuali da una tabella
- 18. AWK/BASH: come abbinare un campo in un file da un campo in un altro?
- 19. Elimina righe vuote da un file
- 20. Seleziona le righe appena inserite
- 21. selezionare le righe n casuali tramite linq2sql
- 22. ciclo bash salta righe commentate
- 23. Hibernate Criteria API: ottenere n righe casuali
- 24. bash - come rimuovere prime 2 righe da uscita
- 25. Come ordinare con più righe in bash?
- 26. Come cancellare le prime due righe e le ultime quattro righe da un file di testo con bash?
- 27. Recupera un numero arbitrario di righe casuali da ogni categoria 'raggruppa per' in MySQL
- 28. Seleziona righe con colonne corrispondenti da SQL Server
- 29. MySQL equamente distribuita righe casuali con WHERE
- 30. Bash Script: contare le righe uniche nel file di
Ordina il file in modo casuale e raccogliere N prime righe. –
Vedere anche http://stackoverflow.com/questions/12354659/how-to-select-random-lines-from-a-file. –
questo non è un duplicato - vuole N linee vs 1 linea. – OneSolitaryNoob