Suddividere i file in cartelle
Come suddividere gruppi di file in cartelle specifiche.
	
A cura di
Totò Fiandaca 
		
		| issue 
		#172
		
		
		
		| guida/e
		
		Andrea Borruso
		
		Totò Fiandaca
		
		
	
Introduzione
A partire da una cartella che contiene circa 6000 file SVG: i nomi dei file hanno un prefisso ( es: google, apple ecc…) seguito da un trattino - e da una successiva descrizione (google-translate.svg, google-street-view.svg, apple-safari.svg, apple-keyboard-option.svg ecc…), come creare tante cartelle quante sono i prefissi e con stesso nome, e copiarci dentro tutti i file che hanno quel prefisso.


Script bash
#!/bin/bash
set x
# lista i file *.svg, estrae il prefisso, prendi i valori univoci e crea file 
ls *.svg | sed -E 's/^(\w+).+$/\1/g' | uniq >prefisso.csv
# cicla per creare le cartelle e copiare i file
for i in $(cat prefisso.csv);do
	mkdir -p $i
	cp $i*.svg ./$i
done
Note:
- in 
sedl’opzione-Eè obbligatoria per usare regex complessi, per i gruppi - in 
sed,\1richiama il primo gruppo 
Riferimenti
Ultima modifica 06/01/2021: add ricetta (6e04fd4)