grep "^$1"
sorte de travaux, mais comment puis-je m'échapper "$1"
pour que grep n'y interprète aucun caractère spécialement?
Ou existe-t-il une meilleure façon?
Edit:
je ne veux pas rechercher '^$1'
mais une chaîne fixe insérée dynamiquement qui ne doit être mise en correspondance que si elle se trouve au début d'une ligne. C'est ce que je voulais dire par $1
.
grep
mais vous devrez d'abord échapper tout caractère spécial dans votre chaîne, par exempleprintf %s ^;printf %s "$1" | sed 's/[][\.*^$]/\\&/g'; } | grep -f- infile
grep '^$1'
? Ou ne vouliez-vous pas dire que vous vouliez empêcher l'$1
expansion par le shell?