Purtroppo adesso sono di fretta e posso rispondere solo a poco, sperando di non inserire troppe boiate nel mezzoOriginariamente inviato da UNIX-based
ciao,
scusami ancora ma non ho capito bene un (altro) paio di cose.
No. La prima versione cerca una riga checon:
oppurecodice:grep -E "^[ \t]*SYNCH_ATTEMPTS[ \t]*=" eciadsl.conf | tail -1 | cut -f 2 -d '=' | tr -d " \t"
non ottengo la stessa cosa?codice:grep SYNCH_ATTEMPTS eciadsl.conf | cut -d= -f2
- inizi con un qualsiasi numero di spazi o tab e
- contenga la stringa "SYNCH_ATTEMPTS" e
- contenga, dopo la suddetta, un qualsiasi numero di spazi o tab e
- contenga, dopo i suddetti, un segno di uguale.
La seconda versione cerca semplicemente una riga contenente SYNCH_ATTEMPTS.
Cosi`, si ha che
soddisfa la seconda regexp ma non (correttamente) la prima.codice:abbaSYNCH_ATTEMPTScabbayabba
perchè tutta questa preoccupazione per i tab (il motivo delle "extended regular expression" no?)
con \t. "[ ]" nel contesto delle regexp e` un'altro operatore. Nel caso specifico("[ \t]*") si hanno i seguenti elementi basilari:ma come viene identificato il tab:?codice:"[ \t]" " \t" "\t"
' ' (spazio)
\t (tab)
[ ]
*


Rispondi quotando