Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3017 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Connaitre longueur chaine maximum

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Connaitre longueur chaine maximum

n°1117490
Gugus2000
Profil : Rien
Posté le 27-02-2009 à 16:17:37  profilanswer
 

Bonjour,
 
J'ai un fichier texte de 600Mo sous unix et je voudrais savoir la longueur max d'une ligne du fichier.
Par exemple si mon fichier est :
 
 
totoo
gugus2000
bla
 
ca doit me renvoyer "9"
 
Merci de votre aide.
j'ai fait un script mais bcp trop lent pour etre utilisé il doit y avoir un moyen en shell rapide.


---------------
Je décline toute responsabilité potentielle pour le contenu de mes propos et contenu multimedia (images, videos et sons) + miroir magic.
mood
Publicité
Posté le 27-02-2009 à 16:17:37  profilanswer
 

n°1117492
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 27-02-2009 à 16:21:11  profilanswer
 

désolé mais on ne fait pas les devoirs des autres


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1117512
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 27-02-2009 à 18:52:55  profilanswer
 

open up open up  [:clooney3]


Message édité par black_lord le 27-02-2009 à 18:53:11

---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1117515
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 27-02-2009 à 19:00:36  profilanswer
 

pourquoi ne pas utiliser un langage de script ou faire une appli en C ?


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1117517
o'gure
Modérateur
Multi grognon de B_L
Posté le 27-02-2009 à 19:03:23  profilanswer
 

Dans son second topic... il a sorti ça comme script

awk '{print length($0)}' /interfaces/cft/out/GMAO_MATUSETRANS.dat | sort -n | tail -1


---------------
Relax. Take a deep breath !
n°1117519
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 27-02-2009 à 19:05:52  profilanswer
 

o'gure a écrit :

Dans son second topic... il a sorti ça comme script

awk '{print length($0)}' /interfaces/cft/out/GMAO_MATUSETRANS.dat | sort -n | tail -1



 
[:hide]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1117521
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 27-02-2009 à 19:13:13  profilanswer
 

quelle plateforme ?


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1117552
Gugus2000
Profil : Rien
Posté le 27-02-2009 à 22:12:43  profilanswer
 

Un peu tous les unix
SunOS sparc et x86
HP UX
un troisieme dont je sais plus le nom mais du meme genre
Linux mais rare


---------------
Je décline toute responsabilité potentielle pour le contenu de mes propos et contenu multimedia (images, videos et sons) + miroir magic.
n°1117553
Gugus2000
Profil : Rien
Posté le 27-02-2009 à 22:17:55  profilanswer
 

Le "truc" c'est que cette commande je l'execute sur des serveurs de prod. Je peux pas me permettre de monopolier le CPU du serveur pendant trop longtemps.


---------------
Je décline toute responsabilité potentielle pour le contenu de mes propos et contenu multimedia (images, videos et sons) + miroir magic.
n°1117577
gee
Bon ben hon
Posté le 27-02-2009 à 23:39:19  profilanswer
 

black_lord a écrit :

pourquoi ne pas utiliser un langage de script ou faire une appli en C ?


Mais grave, quand on veut un truc rapide on fait du C propre !


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
mood
Publicité
Posté le 27-02-2009 à 23:39:19  profilanswer
 

n°1117578
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 27-02-2009 à 23:39:59  profilanswer
 

fais un programme en C et basta

 

[:benou_grilled]

Message cité 1 fois
Message édité par black_lord le 27-02-2009 à 23:40:15

---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1117579
Gugus2000
Profil : Rien
Posté le 27-02-2009 à 23:45:22  profilanswer
 

gee a écrit :


Mais grave, quand on veut un truc rapide on fait du C propre !


 
Je vais me renseigner si j'ai le droit d executer qqch comme ca sur le serveur d abord :)


---------------
Je décline toute responsabilité potentielle pour le contenu de mes propos et contenu multimedia (images, videos et sons) + miroir magic.
n°1117621
o'gure
Modérateur
Multi grognon de B_L
Posté le 28-02-2009 à 10:44:07  profilanswer
 

Gugus2000 a écrit :

Je vais me renseigner si j'ai le droit d executer qqch comme ca sur le serveur d abord :)


Que ce soit un script ou un programme (écrit en C ou en autre chose) il te faudra toujours le droit d'exécution pour pouvoir l'utiliser...


---------------
Relax. Take a deep breath !
n°1117636
Gugus2000
Profil : Rien
Posté le 28-02-2009 à 12:12:26  profilanswer
 

Oui je suis root sur les machines mais ca nempeche qu'executer une commande shell et un programme que tu as developpé toi meme ce n'est pas la meme chose.
 
Pour l'un ca fait parti du shell pour l'autre c'est un programme que tu n'as pas forcement le droit d avoir sur la machine si il n a pas été qualifié.


---------------
Je décline toute responsabilité potentielle pour le contenu de mes propos et contenu multimedia (images, videos et sons) + miroir magic.
n°1117655
o'gure
Modérateur
Multi grognon de B_L
Posté le 28-02-2009 à 13:16:57  profilanswer
 

Gugus2000 a écrit :

Oui je suis root sur les machines mais ca nempeche qu'executer une commande shell et un programme que tu as developpé toi meme ce n'est pas la meme chose.

 

Pour l'un ca fait parti du shell pour l'autre c'est un programme que tu n'as pas forcement le droit d avoir sur la machine si il n a pas été qualifié.


En même temps, en root avec les commandes de bases tu peux foutre en l'air n'importe quel système pour une bête erreur de synthaxe.
Après si t'as des process internes restrictifs...

Message cité 1 fois
Message édité par o'gure le 28-02-2009 à 13:17:29

---------------
Relax. Take a deep breath !
n°1117658
Gugus2000
Profil : Rien
Posté le 28-02-2009 à 13:27:02  profilanswer
 

o'gure a écrit :


En même temps, en root avec les commandes de bases tu peux foutre en l'air n'importe quel système pour une bête erreur de synthaxe.
Après si t'as des process internes restrictifs...


 
Bien sur je suis d'accord.
Et en effet process restrictifs :) C'est les serveurs de prods d'une grosse boite quand meme


---------------
Je décline toute responsabilité potentielle pour le contenu de mes propos et contenu multimedia (images, videos et sons) + miroir magic.
n°1117688
e_esprit
Posté le 28-02-2009 à 16:49:12  profilanswer
 

gee a écrit :


Mais grave, quand on veut un truc rapide on fait du C propre !


 

black_lord a écrit :

fais un programme en C et basta
 
[:benou_grilled]


 [:jerome38]  
 
Sinon y a wc qui le fait très bien de base [:cerveau dr]
 

NAME
       wc - print newline, word, and byte counts for each file
 
SYNOPSIS
       wc [OPTION]... [FILE]...
       wc [OPTION]... --files0-from=F
 
DESCRIPTION
       Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified.  With no FILE, or when FILE is -, read standard input.
 
[...]
       -L, --max-line-length
              print the length of the longest line


 

Citation :

esprit:anarkia.4> cat /tmp/test.txt
totoo
gugus2000
bla
esprit:anarkia.5> wc -L /tmp/test.txt
9 /tmp/test.txt


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°1117695
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 28-02-2009 à 17:07:45  profilanswer
 

e_esprit a écrit :


 [:jerome38]  
 
Sinon y a wc qui le fait très bien de base [:cerveau dr]
 

NAME
       wc - print newline, word, and byte counts for each file
 
SYNOPSIS
       wc [OPTION]... [FILE]...
       wc [OPTION]... --files0-from=F
 
DESCRIPTION
       Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified.  With no FILE, or when FILE is -, read standard input.
 
[...]
       -L, --max-line-length
              print the length of the longest line


 

Citation :

esprit:anarkia.4> cat /tmp/test.txt
totoo
gugus2000
bla
esprit:anarkia.5> wc -L /tmp/test.txt
9 /tmp/test.txt



 
 
C'est une extension GNU, pas standard.


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1117699
e_esprit
Posté le 28-02-2009 à 17:13:35  profilanswer
 

Bah il n'a qu'à récupérer les sources du wc de GNU, et le recompiler sous un autre nom, pas besoin de programmer quelque chose qui existe déjà [:delarue3]


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°1117718
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 28-02-2009 à 19:10:19  profilanswer
 

e_esprit a écrit :

Bah il n'a qu'à récupérer les sources du wc de GNU, et le recompiler sous un autre nom, pas besoin de programmer quelque chose qui existe déjà [:delarue3]


c'est 10 lignes en C hein  [:pingouino]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1117729
e_esprit
Posté le 28-02-2009 à 20:07:24  profilanswer
 

black_lord a écrit :


c'est 10 lignes en C hein  [:pingouino]


10 lignes en C ca suffit même pas pour les headers [:cosmoschtroumpf]


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°1117736
o'gure
Modérateur
Multi grognon de B_L
Posté le 28-02-2009 à 20:39:46  profilanswer
 

e_esprit a écrit :

10 lignes en C ca suffit même pas pour les headers [:cosmoschtroumpf]


[:pingouino]


---------------
Relax. Take a deep breath !
n°1117739
e_esprit
Posté le 28-02-2009 à 21:00:45  profilanswer
 

Note pour plus tard : être modo semble provoquer des troubles oculaires [:transparency]


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°1117766
Gugus2000
Profil : Rien
Posté le 01-03-2009 à 01:54:08  profilanswer
 

Merci bcp e_esprit :)


---------------
Je décline toute responsabilité potentielle pour le contenu de mes propos et contenu multimedia (images, videos et sons) + miroir magic.
n°1117778
macfennec
Zorro del Sáhara
Posté le 01-03-2009 à 10:29:16  profilanswer
 

e_esprit a écrit :


 

Citation :

esprit:anarkia.4> cat /tmp/test.txt
totoo
gugus2000
bla
esprit:anarkia.5> wc -L /tmp/test.txt
9 /tmp/test.txt



 
y'a pas un risque de plomber la bécane en passant cela ?
c'est tout de meme un fichier de 600 Mo.

n°1117792
Gugus2000
Profil : Rien
Posté le 01-03-2009 à 11:33:38  profilanswer
 

Je vais tester sur une machine d'integration je vais bien voir le CPU et le temps que cela mets :)


---------------
Je décline toute responsabilité potentielle pour le contenu de mes propos et contenu multimedia (images, videos et sons) + miroir magic.
n°1117793
o'gure
Modérateur
Multi grognon de B_L
Posté le 01-03-2009 à 11:40:18  profilanswer
 

macfennec a écrit :

y'a pas un risque de plomber la bécane en passant cela ?


man nice
man ionice


---------------
Relax. Take a deep breath !
n°1117817
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 01-03-2009 à 15:25:37  profilanswer
 

macfennec a écrit :


 
y'a pas un risque de plomber la bécane en passant cela ?
c'est tout de meme un fichier de 600 Mo.


 
pour tes solaris il faudra trouver autre chose hein :o


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1118047
Gugus2000
Profil : Rien
Posté le 02-03-2009 à 15:50:30  profilanswer
 

Au cas ou :
 
 
Affiche la longueur de chaque ligne et affiche la ligne en question :
cat toto.txt | awk '{print length, $0}'
 
Affiche la ligne la plus grande et donne sa longueur
cat toto.txt|awk '{print length, $0}'|sort -nr|head -1
 
Donne la longueur de la plus grande ligne.
cat toto.txt|awk '{print length}'|sort -nr|head -1
 
Sous linux :
wc -L


---------------
Je décline toute responsabilité potentielle pour le contenu de mes propos et contenu multimedia (images, videos et sons) + miroir magic.
n°1118055
matafan
Posté le 02-03-2009 à 16:58:53  profilanswer
 

Tant qu'a faire du awk, autant tout faire en awk plutôt qu'ajouter sort et head (et cat)...

n°1118057
Gugus2000
Profil : Rien
Posté le 02-03-2009 à 17:05:40  profilanswer
 

Ok ca donnerait quoi comme commande ?


---------------
Je décline toute responsabilité potentielle pour le contenu de mes propos et contenu multimedia (images, videos et sons) + miroir magic.
n°1118156
matafan
Posté le 03-03-2009 à 09:10:38  profilanswer
 

awk '(len = length) > max { max = len } END { print max }' txt

n°1118197
Gugus2000
Profil : Rien
Posté le 03-03-2009 à 11:16:38  profilanswer
 

merci :)


---------------
Je décline toute responsabilité potentielle pour le contenu de mes propos et contenu multimedia (images, videos et sons) + miroir magic.
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Connaitre longueur chaine maximum

 

Sujets relatifs
[Résolu] SSH et longueur de ligne[SHELL] Insertion chaine de caractères
connaitre le niveau des piles d'une sourisRemplacer une chaine de caractère avec sed.
Les technos à connaitre, à étudier, à oublier...[RESOLU]Connaitre sa norme mémoire Ubuntu
debian/apt : connaitre la source de la version installée d'un paquet[Linux] Connaitre l'état d'un port
Nombre fichiers maximum dans un dossier sous Linux debian ?Connaitre la vitesse de sa carte reseau
Plus de sujets relatifs à : Connaitre longueur chaine maximum


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR