2017-07-25 1 views
-1

Je sais sur le fichier A, a une chaîne qui contient dc034 cependant, je ne peux pas obtenir cela avec la commande grep soit en utilisant le nombre de mots ou en recherchant la chaîne. Qu'est-ce que je fais de mal? SuggestionsJe dois rechercher une correspondance non exacte sur unix et je ne peux pas le faire avec grep

grep "dc034" filedirectoryA | wc 
    0  0  0 

grep -Fv "dc034" filedirectoryA 
+0

Impossible de deviner. De ce que vous avez tapé, il semble que le fichier n'a pas la chaîne en question. Peut-être que la chaîne n'est pas vraiment là mais c'est un caractère non-ascii qui ressemble aux caractères que vous avez tapés. Quel est le fichier? –

+0

liées: 1. [pour les fichiers] (https://stackoverflow.com/questions/9439121/fuzzy-file-search-in-linux-console?s=1|2.1501) 2. [chaînes dans le fichier] (https: //stackoverflow.com/questions/30355972/fuzzy-string-matching-with-grep?noredirect=1&lq=1) –

+0

Afficher des exemples de données – hek2mgl

Répondre

0

Vous ne pouvez pas rechercher correspondance non exacte avec grep.

La seule chose que vous pouvez faire est de rechercher indépendamment de la casse:

grep -i "dc034" filedirectoryA 

Ou essayez-vous de faire la recherche floue sur Unix? agrep existe dans certaines distributions. githup agrep ressemble à une version open source relancée. Pourrait aussi aider.

A défaut, voir si vous pouvez trouver tre-agrep pour votre distribution.

Espérons que cela aide;

+1

Debian et Ubuntu ont toujours accepté dans leurs dépôts, Gentoo aussi – hek2mgl

0

Vous pouvez entrer un astérisque (*) avant et après la chaîne et essayer de rechercher.