Rechercher : dans
Par :

[Shell] trouver emplacement chaine caractère

Dernière réponse le 4 mar 2007 à 13:45:12 HeZiX, le 4 mar 2007 à 11:41:43 
 Signaler ce message aux modérateurs

Bonjour,

je souhaiterais trouvé l'emplacement exact d'une chaine ou des chaines de caracteres dans un fichier.
par exemple, dans un fichier test.txt :

blabla blablaaaaa
EXIT
fdkf mfmdf 
        EXIT
        test
fin


J'aimerai obtenir la ligne et la colonne de tous les EXIT contenu dans ce fichier :
ligne: 2, colonne: 1
ligne: 4,colonne: 8


la ligne est assez aisé a trouvé avec "grep -n" mais j'ai des problèmes avec le numéro de la colonne, je voulais utilisé une boucle "while read ligne ..." seulement le read supprime les espaces et tabulations :(

Si vous avez une idée merci d'avance.
Configuration: Linux
Firefox 1.5.0.9

Meilleures réponses pour « [Shell] trouver emplacement chaine caractère » dans :
Utiliser des accents et autres caractères spéciaux VoirDans la plupart des langages de programmation, on ne peut utiliser directement les accents et autres caractères non-anglosaxon. La solution est l'unicode, une sorte de code universel. Par exemple pour afficher la chaine de caractères : " là, ça...
Sed - Introduction à SED - Part III VoirSED - The Stream EDitor - Part III Ce document est une introduction à la pratique et à l'utilisation de l'éditeur de flux "SED", qui essaie de couvrir certaines fonctionnalités assez méconnues, pour ne pas dire "quasi inconnues", qui font de "SED"...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
Javascript - L'objet String VoirLes particularités de l'objet String string est un mot anglais qui signifie "chaîne", il s'agit en fait de chaîne de caractères. L'objet String est un objet qui contient un certain nombre de propriétés et de méthodes permettant la manipulation...

1

lami20j, le 4 mar 2007 à 12:01:13

Salut,

En bref, s'il y a des tabulations, comment tu dois faire?
Si tu utilise comme séparateur l'espace alors les tabulations doivent être converti dans combiens d'espaces (par défaut c'est 8 espaces il me semble)?

lami20j

Répondre à lami20j

2

HeZiX, le 4 mar 2007 à 12:13:06

Les tabulations sont considéré comme 8 espaces.
J'aimerai savoir comment compter correctement (y compris les espaces / tabulation) pour savoir ou se situe la chaine de caractère sur la ligne.

Répondre à HeZiX

3

lami20j, le 4 mar 2007 à 13:04:05

Re,

tu es obligé de faire en shell?!

voici en Perl

~$ cat ligcol.txt
blabla blablaaaaa
EXIT
fdkf mfmdf
        EXIT
                                        test
                                                                fin
~$ perl -ne 's/\t/" " x 8/eg;@col=$_=~/(\s)/g;print "ligne: $., colonne: ",@col+0,"\n" if /EXIT/' ligcol.txt
ligne: 2, colonne: 1
ligne: 4, colonne: 9

lami20j

Répondre à lami20j

4

 lami20j, le 4 mar 2007 à 13:45:12

Où,

perl -ne 's/\t/" " x 8/eg;($r)=/(\s+)EXIT/;print "ligne: $., colonne: ",length($r)+1,"\n" if /EXIT/' ligcol.txt


lami20j

Répondre à lami20j
Collection CommentÇaMarche.net