Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 31/08/2020, à 11:22

philoeil

[RESOLU] grep recherche TAB tuto incompris

Bonjour,

sur ce site Docstore cours sed awk j'ai lu l'information suivante :

En anglais :

3.2.7 Positional Metacharacters There are two metacharacters that allow you to specify the context in which a string appears, either at the beginning of a line or at the end of a line. 
The circumflex ( ^ ) metacharacter is a single-character regular expression indicating the beginning of a line. 
The dollar sign ( $ ) metacharacter is a single-character regular expression indicating the end of a line. These are often referred to as "anchors," since they anchor, or restrict, the match to a specific position. 
You could print lines that begin with a tab: ^·
 (The · represents a literal tab character, which is normally invisible.)
 Without the ^ metacharacter, this expression would print any line containing a tab. 

Traduit en Français :

3.2.7 Métacaractères positionnels Il existe deux métacaractères qui vous permettent de spécifier le contexte dans lequel une chaîne apparaît, soit au début d'une ligne, soit à la fin d'une ligne.
 Le métacaractère circonflexe ( ^ ) est une expression régulière à un seul caractère indiquant le début d'une ligne.
 Le métacaractère signe dollar ( $ ) est une expression régulière à un seul caractère indiquant la fin d'une ligne. Celles-ci sont souvent appelées «ancres», car elles ancrent ou limitent la correspondance à une position spécifique. 
Vous pouvez imprimer des lignes commençant par un tab: ^· 
(Le ·représente un caractère de tabulation littéral, qui est normalement invisible.) 
Sans le métacaractère ^, cette expression afficherait n'importe quelle ligne contenant une tabulation. 

Je ne comprends pas ce qu'est ce point après le ^
Je n'arrive ni à le reproduire ni à trouver une commande équivalente pour trouver les lignes avec un TAB en début de ligne :

Mon fichier exemple :

phil@phil-G750JH:~/Documents/JeCodeShell/ApprendreGREP$ cat CherchLivre 
Voici les livres que vous avez demandés
Oui, c'est un bon livre pour les enfants
Il est étonnant de penser qu'il a été qualifié de "livre nuisible" quand
une fois arrivé à la fin du livre, tu ne peux pas croire 
	Ligne avec 1 tab en debut de ligne
Ligne  avec espace en fin de ligne  
ligne suivante
phil@phil-G750JH:~/Documents/JeCodeShell/ApprendreGREP$ 

mon essai echec :

phil@phil-G750JH:~/Documents/JeCodeShell/ApprendreGREP$ grep "^." CherchLivre
Voici les livres que vous avez demandés
Oui, c'est un bon livre pour les enfants
Il est étonnant de penser qu'il a été qualifié de "livre nuisible" quand
une fois arrivé à la fin du livre, tu ne peux pas croire 
	Ligne avec 1 tab en debut de ligne
Ligne  avec espace en fin de ligne  
ligne suivante
phil@phil-G750JH:~/Documents/JeCodeShell/ApprendreGREP$ 

Merci pour vos aides

Dernière modification par philoeil (Le 31/08/2020, à 17:57)

Hors ligne

#2 Le 31/08/2020, à 11:30

pingouinux

Re : [RESOLU] grep recherche TAB tuto incompris

Bonjour,
Voici déjà une façon de faire. Je vais regarder ta doc pour comprendre.

grep $'^\t' CherchLivre

Hors ligne

#3 Le 31/08/2020, à 11:33

sputnick

Re : [RESOLU] grep recherche TAB tuto incompris

Le . est n'importe quel caractère, donc aussi une tab ou un espace.

Pour matcher ce qui commence par un tab, tu peut faire:

grep '^

puis control-v + tab et fermer les guillemets.

T'aura que la ligne avec un tab


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#4 Le 31/08/2020, à 11:47

pingouinux

Re : [RESOLU] grep recherche TAB tuto incompris

J'ai regardé la doc à laquelle tu fais référence en #1.
Ils utilisent des caractères bizarres pour figurer les caractères invisibles, comme espaces ou tabulations.
Ce n'est pas clair du tout.
Pour la tabulation, ce n'est pas le point qu'ils utlisent, mais celui-ci

· => <U00B7>     /xc2/xb7     MIDDLE DOT

La méthode indiquée par sputnick (en #3), ou la mienne (en #2), devrait faire ce que tu veux.

Hors ligne

#5 Le 31/08/2020, à 12:24

Watael

Re : [RESOLU] grep recherche TAB tuto incompris

je crois que le point, c'est seulement la fin de la phrase du tuto :

[...]çant par un tab: ^·

point : fin de la phrase, et du paragraphe.

[...]actère ^, cet[...]

ici non plus, la virgule ne fait pas partie d'une regex. lol


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#6 Le 31/08/2020, à 15:11

philoeil

Re : [RESOLU] grep recherche TAB tuto incompris

Bonjour,
Merci à Watael pour sa participation
Merci Pingouinux et Sputnick vos 2 solutions marchent bien.

Je n'ai pas compris ce que veut dire :


· => <U00B7>     /xc2/xb7     MIDDLE DOT

Peut-on rentrer ce "point" dans la recherche grep ?

Hors ligne

#7 Le 31/08/2020, à 15:36

pingouinux

Re : [RESOLU] grep recherche TAB tuto incompris

philoeil a écrit :

Je n'ai pas compris ce que veut dire :

· => <U00B7>     /xc2/xb7     MIDDLE DOT

Cela représente les encodages unicode et utf8 du caractère en question.
C'était juste pour montrer que dans la documentation, ce n'est pas un point qui apparaît derrière le ^, mais ce caractère "MIDDLE DOT".
Utilise une des deux méthodes que nous t'avons indiquées. Pour moi, la documentation n'est pas claire.

Hors ligne

#8 Le 31/08/2020, à 15:48

Watael

Re : [RESOLU] grep recherche TAB tuto incompris

forcément, si je lis en diagonale !

le 'middle dot' représente une tabulation qui ne serait pas visible en fin de paragraphe.
si je mets une tabulation, ou un espace ici ->
on ne peut pas les voir, donc le rédacteur à remplacer la tabulation par un "point inclusif" comme ici ->·

je plussoie les #2 et #3. <-là, c'est un point final. wink

--
« quand le sage montre la lune... »

Dernière modification par Watael (Le 31/08/2020, à 15:49)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#9 Le 01/09/2020, à 09:20

philoeil

Re : [RESOLU] grep recherche TAB tuto incompris

Bonjour,

Ok Merci Watael et Pingouinux pour vos réponses

Hors ligne

#10 Le 01/09/2020, à 09:42

kamaris

Re : [RESOLU] grep recherche TAB tuto incompris

Il y a aussi

grep -P '^\t' CherchLivre

Hors ligne