grep "^$1"in qualche modo funziona, ma come posso scappare "$1"così grep non interpreta alcun personaggio in esso appositamente?
O c'è un modo migliore?
Modifica:
non voglio cercare '^$1'ma per una stringa fissa inserita dinamicamente che dovrebbe essere abbinata solo se è all'inizio di una riga. Questo è ciò che intendevo per $1.
grepanche tu ma prima dovrai scappare da qualsiasi carattere speciale nella tua stringa, ad es.printf %s ^;printf %s "$1" | sed 's/[][\.*^$]/\\&/g'; } | grep -f- infile
grep '^$1'? O non volevi dire che vuoi impedire l'$1espansione della shell?