Voglio sostituire una stringa con caratteri jolly ma non funziona.utilizzando SED con caratteri jolly
La stringa si presenta come "un po 'di-string-8"
ho scritto
sed -i 's/string-*/string-0/g' file.txt
ma l'uscita è
some-string-08
Voglio sostituire una stringa con caratteri jolly ma non funziona.utilizzando SED con caratteri jolly
La stringa si presenta come "un po 'di-string-8"
ho scritto
sed -i 's/string-*/string-0/g' file.txt
ma l'uscita è
some-string-08
L'asterisco (*) significa "zero o più l'articolo precedente ".
Se si desidera far corrispondere ogni singolo carattere utilizzare
sed -i 's/string-./string-0/g' file.txt
Se si desidera far corrispondere qualsiasi stringa (cioè ogni singolo carattere zero o più volte) utilizzare
sed -i 's/string-.*/string-0/g' file.txt
Così, il concetto di un "carattere jolly" in Espressioni regolari funziona in modo leggermente diverso. Per abbinare "qualsiasi carattere" useresti "." Il modificatore "*" significa che corrisponde a un numero qualsiasi di volte.
beh, forse la mia domanda era incompleta .... il tuo comando funziona per questo fien. Comunque se ho 'some-string-8 -x --comando acommand', l'output dell'esecuzione di quel comando è' some-string-0'. cancellerà tutti i caratteri dopo quello. Voglio 'some-string-0 -x --command acommand' – mahmood
ok il primo comando è quello che voglio – mahmood
e se si desidera utilizzare il carattere jolly nella stringa di sostituzione? esempio: sostituire 'AAA. * BBB' con 'CCC. * DDD' – user2561747