Sto riscontrando un problema con sed che non restituisce ciò che mi aspetto quando si utilizza un modello regex per ripulire alcuni output da una query mysql.
mysql -uroot -p -e 'SELECT `path` FROM db.media_gallery' | sed -n -r 's/[^\/]+([^\s]+).*/\1/p'
La query restituisce un gruppo di righe come queste:
| /media/M/W/lmt_MWS04_8.png |
| /media/M/W/lmt_MWS02_11.png |
Quando installo questo tramite il comando sed elencato sopra, restituisce questo:
//M/W/lmt_MWS04_8.png
//M/W/lmt_MWS02_11.png
Dove sono finiti i "media"? Perché rimuove in modo casuale una parte della mia stringa?
Qualcuno sa come risolvere il mio regex?
[^\/]+
parte della tua regex, che non è inclusa nell'output. Non possiamo risolvere la tua regex se non sappiamo cosa stavi cercando di fare. Stai cercando di tagliare gli spazi bianchi?