2009-06-03 13 views
2

J'ai un script bash assez simple qui fait du grep pour trouver tout le texte dans un fichier qui ne correspond pas à un motif.Définition du caractère de fin de ligne grep

grep -v $1 original.txt >trimmed.txt 

Le fichier d'entrée se termine chaque ligne avec les caractères de fin de ligne de Windows, à savoir, avec un retour de chariot et un saut de ligne LF CR.

La sortie de cette commande (exécutée dans Cygwin) termine chaque ligne avec un retour chariot supplémentaire, c'est-à-dire CR CR LF.

Comment puis-je dire à grep d'utiliser CR LF?

Répondre

3

Je pense que vous ne pouvez configurer le paramètre EOL que lors de l'installation de Cygwin.

Si vous exécutez votre fichier d'origine par dos2unix d'abord, puis grep devrait être en mesure de traiter correctement (vous voudrez peut-être exécuter par la suite de revenir unix2dos les EOL)

+0

Merci! Je dois avoir mes Cygwin EOLs mal configurés, parce que cela fonctionne bien même quand je ne fais pas unix2dos après. C'est tout ce dont j'avais besoin pour le faire fonctionner. 1: dos2unix original.txt 2: grep -v $ 1 original.txt> trimmed.txt –

Questions connexes