Utilisez -F
pour faire correspondre des chaînes fixes :
$ grep -F "\n" file
echo "\nThis line has new line char." >> mno.txt
À partir de man grep
:
-F, --fixed-strings
Interpréter PATTERN comme une liste de chaînes fixes, séparées par des retours à la ligne, dont chacune doit être mise en correspondance. (-F est spécifié par POSIX.)
Le moyen le plus simple est d'utiliser REGEX :
grep "$" filename # this will match all lines ending with "\n" (often all lines)
grep "PATTERN$" # this will match all lines ending with "PATTERN\n"
En langage REGEX, $
signifie EOL (fin de ligne), il correspondra donc souvent à "\n"
(la cause est très courante comme fin de ligne).
ATTENTION :attention à utiliser les versions de grep
qui prennent en charge REGEX !.
Échappez simplement à la barre oblique inverse avec une autre barre oblique inverse et placez l'expression régulière entre guillemets simples afin que le shell la transmette à grep sans gérer les barres obliques inverses lui-même :
grep '\\n' abc.ksh