Buonasera, il mio problema nasce dalla necessità di eliminare una lista di file memorizzata in un bash array di stringhe. A mio malgrado quando stampo la lista ogni elemento viene racchiuso tra parentesi graffe.
Quando eseguo:
Output:codice:echo $list $list >> rm
Allorché ho pensato di porre un filtro sintattico fra la lista e lo script di rimozione, con l'ausilio di grep ho ottenuto questo:codice:{bash/file2}{bash/file1} ./bash/es9.sh: riga 19: {bash/f2}{bash/f1}: File o directory non esistente
Ma naturalmente matcha esclusivamente le sottostringhe che contengono lettere, numeri e il carattere "/". Non riconoscerebbe per esempio la stringa "dir/file.txt". Ciò che m'occorrerebbe è un'espressione regolare che riconosca tutte le sottostringhe comprese tra parentesi graffe.codice:$ echo {ciao/ciao} | grep -o "[a-z0-9/]*" ciao/ciao

Rispondi quotando