Comme dans l'exemple, j'essaie d'obtenir des numéros de ligne contenant le motif. Mon modèle contient des barres obliques, je voulais donc ajouter un délimiteur personnalisé.
Celui-ci fonctionne simplement :
sed -n '/file/=' temp.txt
L'utilisation du délimiteur pour le remplacement de chaîne fonctionne également :
sed 's|file|gile|' temp.txt
mais quand je veux ajouter un délimiteur au premier exemple, ce n'est pas le cas :
sed -n '|file /etc|=' temp.txt
Je sais que je peux échapper aux barres obliques mais je préférerais ajouter un délimiteur personnalisé. Une idée de comment corriger ma commande ?
Réponse acceptée :
Stéphane vous a donné le sed
solution :
sed -n '|file /etc|=' file
Si vous êtes prêt à utiliser d'autres outils, vous pouvez également le faire
grep -n 'file /etc' file
Cela imprimera également la ligne elle-même, pour obtenir le numéro de ligne seul, essayez :
grep -n 'file /etc' file | cut -d: -f 1
Ou, vous pouvez utiliser perl
:
perl -lne 'm|file /etc| && print $.' file
Ou awk
:
awk '$0 ~ "file /etc" {print NR}'