Sed
De whats Wiki
Contingut |
Greedy - Non Greedy
Per tal d'aconseguir aquest efecte, es pot fer de la següent manera:
/* hola */ i=3; /* adeu */ s/\/\*[^*]*\*\///g
Cal posar entre els dos caracters a fer-li el greedy:
[^caracter]*
Per tal de inidicar tots els caracters menys el què es vol tractar
Altres
Posar doble espais a un arxiu
sed G arxiu
Per a que nomes mostri la línia que coincideix amb el mach
sed -n '/hola/p'
Posar triple espais a un arxiu
sed 'G;G' arxiu
Afegeix una linia en blanc després de expresio
sed /expresio/G arxiu
eliminar una linia q contingui expresio
sed /expresio/d arxiu
eliminar les linies q comencen per # i les linies buides
sed '/^#/d;/^$/d;' arxiu
Substitueix foo per bar a les linies que hi hagi baz
sed '/baz/s/foo/bar/g' file
insertar una linia en blanc dabant i darrere de cada linia expresio
sed '/expresio/{x;p;x;G;}'
printar el numero de linia d'un arxiu
sed = arxiu
reemplaçar tots els caracters \n per \t
sed 'N;s/\n/\t/' arxiu
si la linia conte , la numera
sed '/,/=' passwd
contar les linies
sed -n '$=' arxiu
en cas de haber-hi tabs i/o espais el principi de la linia els treiem
sed 's/^[\ \t]*//' passwd
el mateix pero al final de linia
sed 's/[ \t]*$//' passwd
posar 5 espais al pricipi de linia
sed 's/^/ /' sed 's/foo/bar/' # replaces only 1st instance in a line sed 's/foo/bar/4' # replaces only 4th instance in a line sed 's/foo/bar/g' # replaces ALL instances in a line
substituir foo per bar a les linies q continguin baz
sed '/baz/s/foo/bar/g' passwd
substituir foo per bar a les linies q no continguin baz
sed '/baz/!s/foo/bar/g' passwd
per printar d'una linia q concordi amb exp1 fins a una q concordi per exp2
sed -n '/exp1/,/exp2/p' arxiu
Per classificar les expresions en grups, es poden separar per parentesis i accedir-hi via \1 \2 \3 etc... Per modificar el contingut d'una línia
sed 's/(^patern)uuc="0667"(.*)/\1uuc="777"\ kernel\ \2'
Per fer els modificacions efectives a un fitxer
sed -i 's/root/superwhats/g' /etc/passwd
I per fer-ne alhora un backup
sed -i.bak 's/root/superwhats/g' /etc/passwd
ENLLAÇOS
trukis de sed
http://setuplinux.com/?q=node/14 http://www.ce.berkeley.edu/~kayyum/unix_tips/sedtips.html
NOTES
per separar diferents coses a fer amb el sed a una mateixa linia
;
per poder remenar els \t \n , etc
N;
tot el q es posi despres de sed, millor posar-ho entre cometes
'
Text en cursiva
