PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Forums Hébergement > Forum Serveur - Sécurité et techniques > fr.comp.os.unix > Re: Cession Re: Cessation de franconews
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
fr.comp.os.unix Système UNIX.

Re: Cession Re: Cessation de franconews

Réponse
 
LinkBack Outils de la discussion
Vieux 07/04/2006, 21h35   #1
Gérald Niel
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

[suivi sur fr.comp.os.unix]

Le Vendredi 07 avril 2006 à 20:21 UTC, franconews écrivait sur
fr.usenet.distribution :

> c'est quoi déjà la commande qui permet de compter les lignes ?


wc -l fichier

ou pour faire plus propre

cat fichier | wc -l

mais sed -n '$=' fichier fonctionne bien aussi.

@+
--
Gérald Niel
<news:lj0d12dt9nii0bu96j5qo06q3a2sb82sbu@neottia.n et>
  Réponse avec citation
Vieux 07/04/2006, 23h01   #2
Loïc Restoux
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Le 07 avr, à 20:35, Gérald Niel papotait :
> wc -l fichier
>
> ou pour faire plus propre
>
> cat fichier | wc -l


Mieux vaut lire ça que d'être aveugle.

--
No fortunes found
  Réponse avec citation
Vieux 07/04/2006, 23h37   #3
R12y
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

On Fri, 07 Apr 2006 20:35:49 +0000, Gérald Niel wrote:

>> c'est quoi déjà la commande qui permet de compter les lignes ?

> wc -l fichier
> ou pour faire plus propre
> cat fichier | wc -l


Faudra que tu argumentes un peu, là.

--
Debian/apt Repo: http://locataire-serveur.info/sectio...ian-repository
Fedora/yum Repo: http://locataire-serveur.info/sectio...edora-core-yum

  Réponse avec citation
Vieux 08/04/2006, 00h24   #4
Arnaud Launay
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Le Fri, 7 Apr 2006 20:35:49 +0000 (UTC), Gérald Niel écrivit:
> > c'est quoi déjà la commande qui permet de compter les lignes ?

> wc -l fichier
> ou pour faire plus propre
> cat fichier | wc -l


Ah ben non, c'est moins propre: UUOC.

> mais sed -n '$=' fichier fonctionne bien aussi.


Si on part dans les 42000 possibilités pour compter les lignes
d'un fichier, on est mal barrés.

Arnaud.
--
Perso: http://launay.org/blog/
Hébergement: http://www.nocworld.com/
  Réponse avec citation
Vieux 08/04/2006, 06h40   #5
Gérald Niel
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Le Vendredi 07 avril 2006 à 22:37 UTC, R12y écrivait sur
fr.comp.os.unix :

>> ou pour faire plus propre
>> cat fichier | wc -l

>
> Faudra que tu argumentes un peu, là.


C'est juste pour ne pas lire le nom du fichier. C'est en ce sens le
mot "propre".

@+
--
Gérald Niel
<news:lj0d12dt9nii0bu96j5qo06q3a2sb82sbu@neottia.n et>
  Réponse avec citation
Vieux 08/04/2006, 07h57   #6
Emmanuel Dreyfus
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Gérald Niel <gniel@alussinan.org> wrote:

> >> cat fichier | wc -l

> >
> > Faudra que tu argumentes un peu, là.

>
> C'est juste pour ne pas lire le nom du fichier. C'est en ce sens le
> mot "propre".


wc -l < fichier
Ca le fait aussi et ca evite d'avoir à lancer un processus de plus.

--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu@netbsd.org
  Réponse avec citation
Vieux 08/04/2006, 08h31   #7
JustMe
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Arnaud Launay a utilisé son clavier pour écrire :
> Le Fri, 7 Apr 2006 20:35:49 +0000 (UTC), Gérald Niel écrivit:
>>> c'est quoi déjà la commande qui permet de compter les lignes ?

>> wc -l fichier
>> ou pour faire plus propre
>> cat fichier | wc -l

>
> Ah ben non, c'est moins propre: UUOC.
>
>> mais sed -n '$=' fichier fonctionne bien aussi.

>
> Si on part dans les 42000 possibilités pour compter les lignes
> d'un fichier, on est mal barrés.
>
> Arnaud.


allez on y va !

:-D

grep -n "" fichier | tail -1 | cut -f1 -d':'


  Réponse avec citation
Vieux 08/04/2006, 14h18   #8
Nicolas George
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Emmanuel Dreyfus wrote in message
<1hdgwtu.1bpedahke9ay8N%manu@netbsd.org>:
> wc -l < fichier
> Ca le fait aussi et ca evite d'avoir à lancer un processus de plus.


D'un autre côté, c'est un peu dommage que la redirection en entrée se fasse
par la droite, ça ne représente pas bien le sens de circulation des données.
Une notation du style

< fichier | wc -l

serait plus logique. Hélas, les shells ne l'interprétent pas comme une
simple redirection.
  Réponse avec citation
Vieux 08/04/2006, 17h37   #9
Emmanuel Dreyfus
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Nicolas George <nicolas$george@salle-s.org> wrote:

> D'un autre côté, c'est un peu dommage que la redirection en entrée se fasse
> par la droite, ça ne représente pas bien le sens de circulation des données.


Si tu vas pas là, cat ne laisse pas presupposer que ca va lire un
fichier, et wc ne semble pas à premiere vue être un outil pour compter
les lignes...

--
Emmanuel Dreyfus
Un bouquin en français sur BSD:
http://www.eyrolles.com/Informatique.../livre-bsd.php
manu@netbsd.org
  Réponse avec citation
Vieux 08/04/2006, 21h02   #10
Jean-Louis Liagre
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Nicolas George wrote:
> Emmanuel Dreyfus wrote in message
> <1hdgwtu.1bpedahke9ay8N%manu@netbsd.org>:
>> wc -l < fichier
>> Ca le fait aussi et ca evite d'avoir à lancer un processus de plus.

>
> D'un autre côté, c'est un peu dommage que la redirection en entrée se fasse
> par la droite, ça ne représente pas bien le sens de circulation des données.
> Une notation du style
>
> < fichier | wc -l
>
> serait plus logique. Hélas, les shells ne l'interprétent pas comme une
> simple redirection.


Il ne s'agit pas d'une redirection, mais d'un pipe qui implique deux commandes.

Pas sûr que ce soit plus lisible, mais ksh et bash acceptent cette syntaxe:

<fichier wc -l
  Réponse avec citation
Vieux 08/04/2006, 22h26   #11
Emmanuel Dreyfus
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

JustMe <pasdespam@merci.beaucoup.con> wrote:

> > Si on part dans les 42000 possibilités pour compter les lignes
> > d'un fichier, on est mal barrés.

> allez on y va !
> grep -n "" fichier | tail -1 | cut -f1 -d':'


A moi!

Ou même ca, d'ailleurs:

awk '{x++} END{print x}' fichier

Ou ca, qui est plus rapide:

awk 'END{print FNR}' fichier

Ou encore ca, pour les amateurs de trucs imbitables:
sed -n '$=' fichier

Sinon, j'ai ca aussi qui est un peu pervers:
tr '\n' '.' < fichier | wc -c





--
Emmanuel Dreyfus
Le cahier de l'admin BSD 2eme ed. est dans toutes les bonnes librairies
http://www.eyrolles.com/Informatique.../livre-bsd.php
manu@netbsd.org
  Réponse avec citation
Vieux 08/04/2006, 22h46   #12
Gérald Niel
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Le Samedi 08 avril 2006 à 16:37 UTC, Emmanuel Dreyfus écrivait sur
fr.comp.os.unix :

> et wc ne semble pas à premiere vue être un outil pour compter
> les lignes...


Mmmmm...

$ man wc

WC(1) BSD General Commands Manual WC(1)

NAME
wc -- word, line, character, and byte count

SYNOPSIS
wc [-clmw] [file ...]

DESCRIPTION
The wc utility displays the number of lines, words, and bytes
contained in each input file (or standard input, by default) to
the standard output. [...]


-l The number of lines in each input file is written to the
standard output.

@+
--
Gérald Niel
<news:lj0d12dt9nii0bu96j5qo06q3a2sb82sbu@neottia.n et>
  Réponse avec citation
Vieux 08/04/2006, 22h47   #13
Gérald Niel
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Le Samedi 08 avril 2006 à 21:26 UTC, Emmanuel Dreyfus écrivait sur
fr.comp.os.unix :

> Ou encore ca, pour les amateurs de trucs imbitables:
> sed -n '$=' fichier


Perdu, je l'ai déjà donné.

@+
--
Gérald Niel
<news:lj0d12dt9nii0bu96j5qo06q3a2sb82sbu@neottia.n et>
  Réponse avec citation
Vieux 09/04/2006, 09h01   #14
Emmanuel Dreyfus
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Gérald Niel <gniel@alussinan.org> wrote:

> > et wc ne semble pas à premiere vue être un outil pour compter
> > les lignes...

>
> $ man wc

(snip)
> wc -- word, line, character, and byte count


Ah evidemment, si tu lis le manuel, tu le sais. Mais si tu lis la doc tu
sais aussi ce que wc -l < fichier fait.


--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu@netbsd.org
  Réponse avec citation
Vieux 09/04/2006, 10h35   #15
Jean-Louis Liagre
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Arnaud Launay wrote:
> Le Fri, 7 Apr 2006 20:35:49 +0000 (UTC), Gérald Niel écrivit:
>>> c'est quoi déjà la commande qui permet de compter les lignes ?

>> wc -l fichier
>> ou pour faire plus propre
>> cat fichier | wc -l

>
> Ah ben non, c'est moins propre: UUOC.
>
>> mais sed -n '$=' fichier fonctionne bien aussi.

>
> Si on part dans les 42000 possibilités pour compter les lignes
> d'un fichier, on est mal barrés.
>
> Arnaud.



(echo 0; sed 's/.*/1+/' fichier; echo p) | dc
  Réponse avec citation
Vieux 09/04/2006, 11h19   #16
Jacques L'helgoualc'h
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Le 09-04-2006, Jean-Louis Liagre a écrit:
> Arnaud Launay wrote:

[...]
>> Si on part dans les 42000 possibilités pour compter les lignes
>> d'un fichier, on est mal barrés.
>>
>> Arnaud.

>
> (echo 0; sed 's/.*/1+/' fichier; echo p) | dc


Sed peut faire echo,

sed '1i\
0
s/.*/1+/
$a\
p
' fichier | dc

mais aussi compter tout seul à l'ancienne

sed -n '
s/.*//
H
$!b
x
s/\n\{1000\}/M/g
s/\n\{500\}/D/
s/\n\{100\}/C/g
s/\n\{50\}/L/
s/\n\{10\}/X/g
s/\n\{5\}/V/
s/\n/I/g
p
' fichier

--
Jacques L'helgoualc'h
  Réponse avec citation
Vieux 09/04/2006, 11h44   #17
Benoit Izac
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Bonjour,

le 08/04/2006 à 09:31, JustMe a écrit
dans le message <mn.423b7d6459e9e81d.51095@merci.beaucoup.con> :

> grep -n "" fichier | tail -1 | cut -f1 -d':'


Ou pourquoi faire simple quand on peut faire compliqué.

grep -c '' fichier

--
Benoit Izac
  Réponse avec citation
Vieux 09/04/2006, 12h43   #18
Nicolas George
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Emmanuel Dreyfus wrote in message
<1hdiui5.1c3rpxy1oybat1N%manu@netbsd.org>:
> Ah evidemment, si tu lis le manuel, tu le sais. Mais si tu lis la doc tu
> sais aussi ce que wc -l < fichier fait.


Je ne soulevais pas une question de savoir ou pas ce que ça fait. Merci, ça
va, je sais ce que fait une redirection. Je soulevais une question de
logique dans l'ordre des éléments de la ligne de commande.
  Réponse avec citation
Vieux 09/04/2006, 13h12   #19
Emmanuel Dreyfus
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Nicolas George <nicolas$george@salle-s.org> wrote:

> > Ah evidemment, si tu lis le manuel, tu le sais. Mais si tu lis la doc tu
> > sais aussi ce que wc -l < fichier fait.

> Je ne soulevais pas une question de savoir ou pas ce que ça fait. Merci, ça
> va, je sais ce que fait une redirection. Je soulevais une question de
> logique dans l'ordre des éléments de la ligne de commande.


Le but de ma contribution était de souligner le caractère très relatif
de l'intuitivité de la ligne de commande. Ca demande de toute façon un
certain aprentissage, au cours duquel on aura l'occasion de surmonter
l'illogisme de certaines constructions. Comme de toute façon personne ne
songe serieusement à modifier la syntaxe du Bourne shell, il n'y a pas
tellement d'autre approche possible.

--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu@netbsd.org
  Réponse avec citation
Vieux 09/04/2006, 13h12   #20
Emmanuel Dreyfus
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Jacques L'helgoualc'h <lhh+no_spam@free.fr> wrote:

> sed -n '
> s/.*//
> H
> $!b
> x
> s/\n\{1000\}/M/g
> s/\n\{500\}/D/
> s/\n\{100\}/C/g
> s/\n\{50\}/L/
> s/\n\{10\}/X/g
> s/\n\{5\}/V/
> s/\n/I/g
> p
> ' fichier


Est-ce qu'on n'arriverait pas à reconvertir en chiffres arabes avec une
passe de plus? Un truc comme:
s/.\{9}\/9/g; s/.\{8}\/8/g; ...
--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu@netbsd.org
  Réponse avec citation
Vieux 09/04/2006, 13h28   #21
Nicolas George
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Emmanuel Dreyfus wrote in message
<1hdj5rl.1bx9rdr166nfvmN%manu@netbsd.org>:
> Le but de ma contribution était de souligner le caractère très relatif
> de l'intuitivité de la ligne de commande.


Je n'ai pas *non plus* parlé d'intuitivité.

> Comme de toute façon personne ne
> songe serieusement à modifier la syntaxe du Bourne shell


Ah? Il me semblait que c'était pourtant ce que les auteurs de zsh, bash et
bien d'autres passaient leur temps à faire.
  Réponse avec citation
Vieux 09/04/2006, 13h38   #22
Jacques L'helgoualc'h
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Le 09-04-2006, Emmanuel Dreyfus a écrit:
> Jacques L'helgoualc'h <lhh+no_spam@free.fr> wrote:
>
>> sed -n '
>> s/.*//
>> H
>> $!b
>> x
>> s/\n\{1000\}/M/g
>> s/\n\{500\}/D/
>> s/\n\{100\}/C/g
>> s/\n\{50\}/L/
>> s/\n\{10\}/X/g
>> s/\n\{5\}/V/
>> s/\n/I/g
>> p
>> ' fichier

>
> Est-ce qu'on n'arriverait pas à reconvertir en chiffres arabes avec une
> passe de plus? Un truc comme:
> s/.\{9}\/9/g; s/.\{8}\/8/g; ...


Bien sûr, mais «sed -n '$='» le fait déjà directement... Il y a aussi
la calculatrice Sed sur http://sed.sf.net/ pour remplacer dc.

J'ai précisé «à l'ancienne» par flemme d'écrire les

s/VIIII/IX/
s/IIII/IV/

et autres abréviations moyenâgeuses ; quant aux barres au-dessus des
lettres pour dépasser correctement MMMMDCCCCLXXXXVIIII, heu, c'est
laissé en exercice.
--
Jacques L'helgoualc'h
  Réponse avec citation
Vieux 09/04/2006, 16h02   #23
Emmanuel Dreyfus
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Nicolas George <nicolas$george@salle-s.org> wrote:

> > Comme de toute façon personne ne
> > songe serieusement à modifier la syntaxe du Bourne shell

>
> Ah ? Il me semblait que c'était pourtant ce que les auteurs de zsh, bash et
> bien d'autres passaient leur temps à faire.


Et ils créent et modifient zsh, bash et autres, mais pas le Bourne
shell, qui est le seul dénominateur commun censé marcher pareil partout.
C'est d'ailleurs lui qui est standardisé par POSIX.2a et SUSv2:
http://www.opengroup.org/onlinepubs/...99/xcu/sh.html

Changer la syntaxe de /bin/sh signifie rompre la compatibilité
ascendante avec tout un tas de scripts, à commencer par les scripts
configure. Un projet comme bash, qui vise à remplacer le bourne shell,
implémente la syntaxe standardisée *plus* des extensions, pour que bash
invoqué par un lien dur sur /bin/sh se comporte comme un Bourne shell
standard.

Bon, ensuite on peut ouvrir un débat de généalogiste pour dire que le
shell standardisé POSIX.2a et SUSv2 n'est pas le Bourne shell, puisque
le vrai Bourne shell serait uniquement l'implémentation originale de
AT&T, mais sans moi.

--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu@netbsd.org
  Réponse avec citation
Vieux 09/04/2006, 16h38   #24
Jean-Louis Liagre
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Nicolas George wrote:
> Emmanuel Dreyfus wrote in message
> <1hdj5rl.1bx9rdr166nfvmN%manu@netbsd.org>:
>> Le but de ma contribution était de souligner le caractère très relatif
>> de l'intuitivité de la ligne de commande.

>
> Je n'ai pas *non plus* parlé d'intuitivité.
>
>> Comme de toute façon personne ne
>> songe serieusement à modifier la syntaxe du Bourne shell

>
> Ah ? Il me semblait que c'était pourtant ce que les auteurs de zsh, bash et
> bien d'autres passaient leur temps à faire.


Il ne me semble pas qu'il soit nécessaire de changer quoi que se soit
à la syntaxe shell pour répondre au besoin, vu que cette syntaxe,
à ma connaissance, n'impose pas d'emplacement particulier ou d'ordre
aux redirections.

Il est donc tout à fait possible d'écrire:


wc -l <fichier # syntaxe habituelle
ou
<fichier wc -l # syntaxe plus logique pour toi
voire même
wc <fichier -l # syntaxe troublante, mais aussi acceptée pas sh, ksh, zsh, bash, ...
  Réponse avec citation
Vieux 09/04/2006, 16h47   #25
Jean-Louis Liagre
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Cession Re: Cessation de franconews

Jacques L'helgoualc'h wrote:
> Le 09-04-2006, Jean-Louis Liagre a écrit :
>> Arnaud Launay wrote:

> [...]
>>> Si on part dans les 42000 possibilités pour compter les lignes
>>> d'un fichier, on est mal barrés.
>>>
>>> Arnaud.

>> (echo 0; sed 's/.*/1+/' fichier; echo p) | dc

>
> Sed peut faire echo,
>
> sed '1i\
> 0
> s/.*/1+/
> $a\
> p
> ' fichier | dc


Ok.

> mais aussi compter tout seul à l'ancienne
>
> sed -n '
> s/.*//
> H
> $!b
> x
> s/\n\{1000\}/M/g
> s/\n\{500\}/D/
> s/\n\{100\}/C/g
> s/\n\{50\}/L/
> s/\n\{10\}/X/g
> s/\n\{5\}/V/
> s/\n/I/g
> p
> ' fichier


Celui-là ne passe pas avec un sed posix:

sed: command garbled: s/\n\{1000\}/M/g
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 13h50.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,29049 seconds with 33 queries