[Risolto] Script bash per incollare file
[Risolto] Script bash per incollare file
Ciao a tutti,
devo creare uno script in bash che incolli N file del tipo fort.* . I file fort.* sono generati randomicamente, quindi ho qualcosa del tipo
fort.101
fort.29
fort.8721
...
Lo scopo è incollarli (con cat) in modo che la numerazione sia crescente:
cat fort.29 fort.101 fort.8721 ... > file.dat
I file da ordinare sono più di 700, quindi farlo a mano diventa proibitivo.
Qualcuno mi sa aiutare?
Grazie
devo creare uno script in bash che incolli N file del tipo fort.* . I file fort.* sono generati randomicamente, quindi ho qualcosa del tipo
fort.101
fort.29
fort.8721
...
Lo scopo è incollarli (con cat) in modo che la numerazione sia crescente:
cat fort.29 fort.101 fort.8721 ... > file.dat
I file da ordinare sono più di 700, quindi farlo a mano diventa proibitivo.
Qualcuno mi sa aiutare?
Grazie
Ultima modifica di faustomr il giovedì 14 agosto 2014, 16:00, modificato 1 volta in totale.
- vaeVictis
- Imperturbabile Insigne
- Messaggi: 4703
- Iscrizione: venerdì 27 luglio 2012, 17:58
- Desktop: Gnome
- Distribuzione: Ubuntu 20.04 64bit
Re: Script bash per incollare file
È un argomento già trattato. Hai fatto una ricerca?
Falla perché dovresti trovare tutto quello che ti serve
Falla perché dovresti trovare tutto quello che ti serve
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
- UbuNuovo
- Imperturbabile Insigne
- Messaggi: 4446
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: Script bash per incollare file
Io invece davo per scontato che cat ordinasse i file da solo (visto che il nome dei file è sempre lo stesso)! Buon per me!
Ho usato sort sfruttando il punto come separatore.
È un modo sempice ma probabilmente ce ne sono di migliori (per esempio con find).
Ho usato sort sfruttando il punto come separatore.
Codice: Seleziona tutto
cat $(ls dati/fort.* | sort -n -t. -k 2) > file.dat
Salva l'Ucraina!
- 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: Script bash per incollare file
basta usare l'opzione -V di sort o, ancora meglio dato che usi ls, la sua -v che fa la stessa roba.
Codice: Seleziona tutto
ls -1v fort.* | xargs cat >> OUT
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
Re: Script bash per incollare file
Grazie mille. Sapevo di dover usare sort ma non sapevo come. Non avevo invece idea del -v di ls.
Grazie ancora
Grazie ancora
- jackynet92
- Moderatore Globale
- Messaggi: 13413
- Iscrizione: sabato 3 settembre 2011, 1:41
- Desktop: Mate
- Distribuzione: Ubuntu 16.04 64bit
- Sesso: Maschile
- Località: Torino
Re: Script bash per incollare file
Se ritieni risolto il problema metti [Risolto] al titolo del primo post
I limiti esistono solo perché noi possiamo superarli.
- UbuNuovo
- Imperturbabile Insigne
- Messaggi: 4446
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: [Risolto] Script bash per incollare file
@crap: Avevo bisogno di una rilettura del manuale di ls; ne ha di metodi di ordinamento...
ls lo sottovaluto spesso!
Codice: Seleziona tutto
8-) man ls | grep sort
List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
-c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime, newest first
-f do not sort, enable -aU, disable -ls --color
augment with a --sort option, but any use of --sort=none (-U) disables grouping
reverse order while sorting
-S sort by file size
--sort=WORD
sort by WORD instead of name: none -U, extension -X, size -S, time -t, version -v
with -l, show time as WORD instead of modification time: atime -u, access -u, use -u, ctime -c, or status -c; use specified time as sort key if --sort=time
-t sort by modification time, newest first
-u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort by access time
-U do not sort; list entries in directory order
-v natural sort of (version) numbers within text
-X sort alphabetically by entry extension
Salva l'Ucraina!
- vaeVictis
- Imperturbabile Insigne
- Messaggi: 4703
- Iscrizione: venerdì 27 luglio 2012, 17:58
- Desktop: Gnome
- Distribuzione: Ubuntu 20.04 64bit
Re: [Risolto] Script bash per incollare file
@UbuNuovo
Non so se può interessarti, ma per fare le ricerche all'interno delle manpage (con la manpage visualizzata), puoi dare slash ( / ) e poi scrivere la parola che ti interessa (nel tuo caso "sort").
Dai invio e, se trova riscontri, puoi andare al successivo premendo "n" e al precedente premendo "p".
... per me fu una svolta.
Non so se può interessarti, ma per fare le ricerche all'interno delle manpage (con la manpage visualizzata), puoi dare slash ( / ) e poi scrivere la parola che ti interessa (nel tuo caso "sort").
Dai invio e, se trova riscontri, puoi andare al successivo premendo "n" e al precedente premendo "p".
... per me fu una svolta.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
- UbuNuovo
- Imperturbabile Insigne
- Messaggi: 4446
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: [Risolto] Script bash per incollare file
Grazie Vae, mi avevi già dato quella dritta ma sono abituato con grep, così vedo le varie occorrenze.
Salva l'Ucraina!
- UbuNuovo
- Imperturbabile Insigne
- Messaggi: 4446
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: [Risolto] Script bash per incollare file
Cavolo non mi funge! L'altra volta non mi ricordo che carattere dovevo aggiungere mi pare "[" ma da help mi dice come hai detto tu.
Edit: Sono scemo! Dovevo cambiare l'impostazione del tastierino numerico.SEARCHING
/pattern * Search forward for (N-th) matching line.
?pattern * Search backward for (N-th) matching line.
n * Repeat previous search (for N-th occurrence).
N * Repeat previous search in reverse direction.
ESC-n * Repeat previous search, spanning files.
ESC-N * Repeat previous search, reverse dir. & spanning files.
ESC-u Undo (toggle) search highlighting.
&pattern * Display only matching lines
---------------------------------------------------
A search pattern may be preceded by one or more of:
^N or ! Search for NON-matching lines.
^E or * Search multiple files (pass thru END OF FILE).
^F or @ Start search at FIRST file (for /) or last file (for ?).
^K Highlight matches, but don't move (KEEP position).
^R Don't use REGULAR EXPRESSIONS.
Salva l'Ucraina!
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 20 ospiti