Come posso convertire una stringa contenente caratteri glob comeGlobbing/espansione di percorso con due punti come separatore
/var/lib/gems/*/bin
in una stringa separata da due punti di nomi di file (cioè PATH compatibile) corrisponde al modello?
cioè echo /var/lib/gems/*/bin
tornerà
/var/lib/gems/1.8/bin /var/lib/gems/1.9.1/bin
voglio
/var/lib/gems/1.8/bin:/var/lib/gems/1.9.1/bin
invece.
L'approccio ovvio è semplicemente quello di sostituire il carattere dello spazio con ':' tramite tr
, ma questo non funziona se il nome del file stesso contiene il carattere dello spazio.
Chiudi! Ma se c'è una sola corrispondenza, alla fine ottieni i due punti: "/var/lib/gems/1.9.1/bin:". (E se non c'è corrispondenza, un singolo due punti.) – mjs