Bonjour,
Je souhaite remonter d'un texte, tous les mots contenant une lettre spécifique. suis-je obligé de passer par une boucle ? Existe-t-il un moyen plus simple ?
Je proposerai en plus de ce que tu indiques, de remplacer toutes les espaces par des retours à la ligne, comme ça cela sera intercepté par le grep ligne par ligne, comme ça, par exemple si tu veux voir pour la lettre "y" :
cat ton_texte.txt | sed "s/ /\n/g" | grep 'y'
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
ok, la première réponse était suffisante en fait, car cela redonne les mots ligne par ligne, et le résultat est plus propre (suppression des virgules par exemple)
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
Le mieux est encore d'utiliser egrep et la classe alphanumérique dédiée car cela permet de reconnaître également les lettres accentuées, minuscules comme majuscules :
| egrep -o '[[:alnum:]]*a[[:alnum:]]*'
On peut utiliser [[:alpha:]] à la place de [[:alnum:]] si on ne veut pas des chiffres.
Purée, la fouine quoi! :)
dis-tu du haut de tes deux de mois de linuxfr à un vieux de la vieille :)
dans les forums, l'ancienneté des intervenants (surtout pour ceux qui postent des questions) permet parfois de faire le tri entre les requêtes légitimes et le gros foutage de gueule et de répondre en conséquence.
Je dois être une fouine aussi ... ou un furet ... ou une belette ... ou un ragondin.
# grep -o ?
Posté par Ph Husson (site web personnel) . Évalué à 8.
% echo blabla plop |grep -o '[a-z]*a[a-z]*'
blabla
%
(grep est considéré comme partie du shell ou pas pour toi ?)
[^] # Re: grep -o ?
Posté par B16F4RV4RD1N . Évalué à 2.
Je proposerai en plus de ce que tu indiques, de remplacer toutes les espaces par des retours à la ligne, comme ça cela sera intercepté par le grep ligne par ligne, comme ça, par exemple si tu veux voir pour la lettre "y" :
cat ton_texte.txt | sed "s/ /\n/g" | grep 'y'
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: grep -o ?
Posté par B16F4RV4RD1N . Évalué à 2.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: grep -o ?
Posté par StreakyCobra . Évalué à 2.
| grep -o '[a-zA-Z]*a[a-zA-Z]*'
[^] # Re: grep -o ?
Posté par gaaaaaAab . Évalué à 4.
sinon, je propose
echo blabla plop | grep -io "\<\w*a\w*\>"
</code
[^] # Re: grep -o ?
Posté par Obsidian . Évalué à 2.
| egrep -o '[[:alnum:]]*a[[:alnum:]]*'
On peut utiliser [[:alpha:]] à la place de [[:alnum:]] si on ne veut pas des chiffres.
[^] # Re: grep -o ?
Posté par Obsidian . Évalué à 2.
[^] # Re: grep -o ?
Posté par gaaaaaAab . Évalué à 2.
le man de grep dit The symbol \w is a synonym for :alnum:
[^] # Re: grep -o ?
Posté par Obsidian . Évalué à 2.
Tu es tombé dans le piège du wikilien ? J'ai failli me faire avoir aussi. :-)
[^] # Re: grep -o ?
Posté par gaaaaaAab . Évalué à 3.
allez, incoming vanne pourrie: les deux poings dedans
--> []
# Fais mes devoirs
Posté par Croconux . Évalué à 3.
[^] # Re: Fais mes devoirs
Posté par Gabin . Évalué à 2.
Si c'est vraiment le cas, tant pis pour lui car tricher sur dans cette phase de réfléxion ne va pas l'aider en cas d'interro/exam.
[^] # Re: Fais mes devoirs
Posté par gaaaaaAab . Évalué à 3.
dis-tu du haut de tes deux de mois de linuxfr à un vieux de la vieille :)
dans les forums, l'ancienneté des intervenants (surtout pour ceux qui postent des questions) permet parfois de faire le tri entre les requêtes légitimes et le gros foutage de gueule et de répondre en conséquence.
Je dois être une fouine aussi ... ou un furet ... ou une belette ... ou un ragondin.
# merci infiniment
Posté par michelle madd . Évalué à 1.
[^] # Re: merci infiniment
Posté par gaaaaaAab . Évalué à 2.
ça peut aussi se faire en awk:
echo "plop blabla" | awk '/a/{i=1; while (i <= NF) {if (index($i, "a") != 0) {print $i} i = i+1}}'
[^] # Re: merci infiniment
Posté par michelle madd . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.