PDA

Visualizza la versione completa : [grep] Matchare tutte le sottostringhe tra parentesi graffe


pistilloi
03-11-2013, 14:50
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:

echo $list
$list >> rm

Output:

{bash/file2}{bash/file1}
./bash/es9.sh: riga 19: {bash/f2}{bash/f1}: File o directory non esistente

Allorché ho pensato di porre un filtro sintattico fra la lista e lo script di rimozione, con l'ausilio di grep ho ottenuto questo:

$ echo {ciao/ciao} | grep -o "[a-z0-9/]*"
ciao/ciao


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.

Loading