Comment pourrais-je le mélange de motifs et de plages numériques dans les sed (ou tout autre outil de awk par exemple)? Ce que je veux faire est de correspondre à certaines lignes dans un fichier, et de supprimer les n prochaines lignes avant de procéder, et je veux le faire dans le cadre d'un pipeline.
Réponses
Trop de publicités?
potong
Points
18653
glenn jackman
Points
69748
Cette solution vous permet de passer des "n" comme paramètre et elle va lire vos modèles à partir d'un fichier:
awk -v n=5 '
NR == FNR {pattern[$0]; next}
{
for (patt in pattern) {
if ($0 ~ patt) {
print # remove if you want to exclude a matched line
for (i=0; i<n; i++) getline
next
}
}
print
}
' file.with.patterns -
Le fichier nommé "-" signifie stdin pour awk, c'est donc approprié pour votre pipeline