J'ai un fichier html que je veux couper. Je veux supprimer une section depuis le début jusqu'à une chaîne donnée, et d'une autre chaîne à la fin. Comment je fais ça, de préférence en utilisant sed?Ajustement multiligne
3
A
Répondre
6
Avec GNU sed
:
sed '/mark1/,/mark2/d;/mark3/,$d'
cette
abc
def
mark1
ghi
jkl
mno
mark2
pqr
stu
mark3
vwx
yz
devient
abc
def
pqr
stu
0
vous pouvez utiliser awk
$ cat file
mark1 dsf
abc
def
before mark2 after
blah mark1
ghi
jkl
mno
wirds mark2 here
pqr
stu
mark3
vwx
yz
$ awk -vRS="mark2" '/mark1/{gsub("mark1.*","")}/mark3/{ gsub("mark3.*","");print;f=1 } !f ' file
after
blah
here
pqr
stu
J'ajouterais que cela fonctionne uniquement avec des fichiers html correctement formatés (motif commence et se termine sur la même ligne!). –
C'est vrai et normalement html devrait être manipulé avec un outil de bibliothèque robuste (et la chance et la direction du vent sont également impliqués). –