web-dev-qa-db-fra.com

Grep pour windows

Old.txt contient

Apple
orange
banana

Et New.txt contient

Apple
orange
banana
grape
lemon

Je peux accéder à de nouveaux contenus ajoutés à New.txt en utilisant la commande grep.

grep -Fxvf Old.txt New.txt > difference.txt 

Maintenant, difference.txt contient

grape
lemon

Sous Windows, j'ai essayé

findstr /rvc:Old.txt New.txt > difference.txt 

pour trouver la différence mais il ajoute le contenu de Old.txt aussi. Comment puis-je écrire une commande équivalente dans Windows?

6
Musie Meressa

Vous pouvez utiliser DOSfindstr avec les drapeaux suivants: -

/v   : Prints only lines that do not contain a match.
/g: file   : Gets search strings from the specified file.

La commande serait quelque chose comme: -

C:\Users\dude\Desktop>findstr /v /g:Old.txt New.txt >difference.txt

Vérifier maintenant la sortie du fichier en utilisant la commande type; équivalent à cat dans Linux, on voit: -

C:\Users\dude\Desktop>type difference.txt
grape
lemon
7
Inian

Sauf si vous n'êtes pas autorisé à installer quoi que ce soit sur votre PC, envisagez d'installer des ports d'outils de type * nix tels que GnuWin32 et continuez à utiliser grep.

2
Gary_W