On 7/31/24 21:53, Leonardo Boselli wrote:
On Wed, 31 Jul 2024, Piviul wrote:
Il comando di concatenazione nel caso esposto se ci sono più file
dovrebbe prendere il primo della lista [nel caso in esempio se
esistono WIS33S1.txt e WIS3303.txt dovrebbe prendere il primo e basta
e passare quindi a WIS34… (ossia pr ogni progressivo dato dai
caratteri al quarto e quinto posto prendere il primo della lista e
passare alla "regola" successiva.)
e questo mi pare che cat non lo faccia.
cosa posso fare ?
uno script?
cero ma mi serve saper: se faccio cat WIZE??[10][SF0].part > WIZE.txt
tuuti i file che trova vengono conctenati in ordine alfabetico del
nome o in modo semicausale, per cui dovrei fare prima un ls (che mi da
comuneque in ordine alfabetico e poi passale l'output di questo a xargs ?
Non so se ho ben capito, oltre al problema dell'ordinamento c'è poi il
problema del fatto che non li vuoi prendere tutti; se è così cat non
credo da solo sia in grado di leggere quel che vuoi tu con un solo
comando, devi usare uno script. Non è molto elegante ma a me viene in
mente qualcosa tipo:
for f in $(ls -1); do oldprefix=$prefix; prefix=$(echo $f | grep -o
^......); [ "$oldprefix" = "$prefix" ] && continue; echo $f; done
Piviul