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
.
grep
anche 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'$1
espansione della shell?