Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[BASH] Extraire une ligne en particulier ? (resolu)
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8717
Location: ~Brussels - Belgique

PostPosted: Wed Jan 09, 2008 2:40 pm    Post subject: Reply with quote

Bapt wrote:
El_Goretto wrote:
Enfin en même temps, sur quel OS bash n'est-il pas disponible, hein?

En installation standard : tout les unix du marchés qui ne sont pas linux ou presque :)


Heu... Linux est un kernel... cherchez l'erreur...
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
Bapt
Veteran
Veteran


Joined: 14 Apr 2003
Posts: 1152
Location: Paris

PostPosted: Wed Jan 09, 2008 2:46 pm    Post subject: Reply with quote

Oupsman wrote:
Moi, parce que c'est des machines de productions lourdes et que moins tu touches à l'OS, mieux tu te portes. Et c'est valable aussi sous Linux ;-)

Clair, au mieux, tu as un socle standard défini pour le déploiement de tes machines et tous tes serveurs de productions dériveront de ce socle, tu ne t'amuse pas à faire du spécifique quand tu as quelques centaine de machine à gérer, tu essaye plutôt de conserver quelque chose de standard.
Back to top
View user's profile Send private message
Bapt
Veteran
Veteran


Joined: 14 Apr 2003
Posts: 1152
Location: Paris

PostPosted: Wed Jan 09, 2008 2:48 pm    Post subject: Reply with quote

XavierMiller wrote:
Heu... Linux est un kernel... cherchez l'erreur...
Oui si tu veux jouer sur les mots, tous les unix du marché qui ne sont pas des distributions linux, (je sais que certaines distrib ne viennent pas non plus avec bash par défaut)
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3174
Location: Paris

PostPosted: Wed Jan 09, 2008 2:48 pm    Post subject: Reply with quote

[/me esquive la charge du troll velu]

Sinon, pour finir d'achever de terminer le détournement de thread, question culturelle à 2 centimes pour les grands anciens: vous avez déjà croisé une distro Linux sans bash comme shell par défaut?

--
edit: damn, grilled, tiens, ben t'aurais qu'à citer tes sources, Bapt :P
_________________
-TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Back to top
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3772

PostPosted: Wed Jan 09, 2008 2:53 pm    Post subject: Reply with quote

El_Goretto wrote:
[/me esquive la charge du troll velu]

Sinon, pour finir d'achever de terminer le détournement de thread, question culturelle à 2 centimes pour les grands anciens: vous avez déjà croisé une distro Linux sans bash comme shell par défaut?

--
edit: damn, grilled, tiens, ben t'aurais qu'à citer tes sources, Bapt :P

Bah, les distrib pour l'embarquées par exemple, qu'ont pas besoin d'un truc aussi lourd, et utilisent busybox à la place (donc un sh POSIX, me semble qu'il s'agit même d'ash), donc on peut citer toutes les distrib dérivées d'OpenEmbedded déjà :P Et me semble qu'une distrib dans le genre ArchLinux avait zsh comme shell par défaut... pis je peux aussi citer le livecd sysrescuecd qui a un zsh par défaut aussi (et oui, un livecd est une distrib :P)
Back to top
View user's profile Send private message
Oupsman
Veteran
Veteran


Joined: 19 Jul 2004
Posts: 1042

PostPosted: Wed Jan 09, 2008 3:06 pm    Post subject: Reply with quote

geekounet wrote:
El_Goretto wrote:
[/me esquive la charge du troll velu]

Sinon, pour finir d'achever de terminer le détournement de thread, question culturelle à 2 centimes pour les grands anciens: vous avez déjà croisé une distro Linux sans bash comme shell par défaut?

--
edit: damn, grilled, tiens, ben t'aurais qu'à citer tes sources, Bapt :P

Bah, les distrib pour l'embarquées par exemple, qu'ont pas besoin d'un truc aussi lourd, et utilisent busybox à la place (donc un sh POSIX, me semble qu'il s'agit même d'ash), donc on peut citer toutes les distrib dérivées d'OpenEmbedded déjà :P Et me semble qu'une distrib dans le genre ArchLinux avait zsh comme shell par défaut... pis je peux aussi citer le livecd sysrescuecd qui a un zsh par défaut aussi (et oui, un livecd est une distrib :P)


Openwrt utilise ash effectivement.
_________________
--
L'idéal de nouveauté semble avoir remplacé l'idéal de progrès. C'est bien triste.

----
Unix philosophy: "Do one thing and do it well."
systemd: "Try to do everything and do it wrong."
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3174
Location: Paris

PostPosted: Wed Jan 09, 2008 3:39 pm    Post subject: Reply with quote

J'allais dire que l'embarqué, c'est triché, mais bon, oui, sysrescCD, ok, tu m'as eu ;)
_________________
-TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Back to top
View user's profile Send private message
SanKuKai
Apprentice
Apprentice


Joined: 17 Feb 2006
Posts: 228
Location: Toulouse, France

PostPosted: Wed Jan 09, 2008 3:42 pm    Post subject: Reply with quote

Gobolinux utilise aussi Zsh par défaut.
Vraiment pas commune cette distrib ! :)
Back to top
View user's profile Send private message
anigel
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 1894
Location: Un petit bled pas loin de Limoges ;-)

PostPosted: Wed Jan 09, 2008 10:41 pm    Post subject: Reply with quote

Reuh,

(on m'applaudit bien fort pour avoir lancé le troll le plus velu de ces dernières semaines ; avis aux modos : c'est vraiment totalement involontaire, me bannissez pas)

XavierMiller wrote:
Heu... Linux est un kernel... cherchez l'erreur...

Ahhhh, ne commençons pas à pinouiller hein !

El_Goretto wrote:
Sinon, pour finir d'achever de terminer le détournement de thread, question culturelle à 2 centimes pour les grands anciens: vous avez déjà croisé une distro Linux sans bash comme shell par défaut?

Rhaaaa tu me fais du mal en écrivant ça. Mais oui, je suis une antiquité, c'est une réalité :lol: . La preuve ? J'ai connu la Debian 1.3.1. Et sur cette génération de systèmes, le shell par défaut, c'était csh. Ou Ksh. Enfin pas bash en tous cas. Et p'tet que c'était slackware en fait... Enfin bref, c'était il y a longtemps, ça ne compte plus maintenant ;)

Sur ce... Papy va se coucher (non sans avoir au préalable demandé humblement son pardon à dapsaille, pour cause de salopage de post en règle, bien malgré moi) !
_________________
Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres.
Back to top
View user's profile Send private message
Oupsman
Veteran
Veteran


Joined: 19 Jul 2004
Posts: 1042

PostPosted: Thu Jan 10, 2008 6:55 am    Post subject: Reply with quote

anigel wrote:

Rhaaaa tu me fais du mal en écrivant ça. Mais oui, je suis une antiquité, c'est une réalité :lol: . La preuve ? J'ai connu la Debian 1.3.1. Et sur cette génération de systèmes, le shell par défaut, c'était csh. Ou Ksh. Enfin pas bash en tous cas. Et p'tet que c'était slackware en fait... Enfin bref, c'était il y a longtemps, ça ne compte plus maintenant ;)


Ouiiiii j'avais oublié ce détail : sur la première version de Linux que j'ai installé (en 1996, souvenirs souvenirs .... ) le shell par défaut était KSH. Bash était installé aussi, mais il était tellement instable qu'il vallait mieux utiliser autre chose.

'tain merci beaucoup Anigel, grâce à toi je viens de prendre un coup de vieux :twisted:

:wink: quand même
_________________
--
L'idéal de nouveauté semble avoir remplacé l'idéal de progrès. C'est bien triste.

----
Unix philosophy: "Do one thing and do it well."
systemd: "Try to do everything and do it wrong."
Back to top
View user's profile Send private message
Temet
Advocate
Advocate


Joined: 14 Mar 2006
Posts: 2586
Location: 92

PostPosted: Thu Jan 10, 2008 9:51 am    Post subject: Reply with quote

Je suis plus jeune que vous les gens :D
Mais je me sens un peu papy sur les bords quand je dis que j'ai commencé à utiliser KDE avec KDE 1 ;)
_________________
Full Gentoo powered.
Back to top
View user's profile Send private message
Oupsman
Veteran
Veteran


Joined: 19 Jul 2004
Posts: 1042

PostPosted: Thu Jan 10, 2008 1:14 pm    Post subject: Reply with quote

Temet wrote:
Je suis plus jeune que vous les gens :D
Mais je me sens un peu papy sur les bords quand je dis que j'ai commencé à utiliser KDE avec KDE 1 ;)


[mode vieux con]
Ah oui, moi aussi, sur une RH4.1. KDE compilé à la main depuis les sources sur mon P200+/32Mo de RAM. Là aussi ça me rajeunit pas.

Et avant, j'utilisais Afterstep (profond soupir de nostalgie)
[/mode vieux con]
_________________
--
L'idéal de nouveauté semble avoir remplacé l'idéal de progrès. C'est bien triste.

----
Unix philosophy: "Do one thing and do it well."
systemd: "Try to do everything and do it wrong."
Back to top
View user's profile Send private message
kaworu
Guru
Guru


Joined: 07 Dec 2005
Posts: 450

PostPosted: Thu Jan 10, 2008 2:34 pm    Post subject: Reply with quote

Bonjour !

Perso je suis aussi d'avis que "| tue un chaton".
J'ai un petit script, qui renomme mes fichiers de musique. En gros, il met le nom de l'artiste en majuscule, le titre en minuscule, et change les espaces par des "_". rien de bien sorcier.
Je l'avais écris en Bash, avec des | des grep des sed et toussa. à l'exécution, il prenait 3-4 secondes à l'exécution pour traiter ~ 400 fichiers.
Je l'ai réécris en Ruby "pour le fun", et maintenant j'arrive à 0,1 seconde (même nombre de fichiers).

Ruby 1.8 n'est pas réputé niveau performance, mais je me suis rendu compte de l'ineficacité du shell pour certains script.

Le problème est le suivant : comment traiter la valeur d'une variable en Shell (disons bash) ?
- utiliser ${MYVAR##*pattern} &Co qui est interne donc assez performant, mais vraiment illisible
- utiliser echo $MYVAR |grep|sed|cut qui est super lisible est sympa, mais avec des performances vraiment mauvaises
- ???

Comme j'ai pas vraiment trouvé d'autres solutions, je script dans d'autres langage quand j'ai besoin de traiter du contenu.
Si quelqu'un a une solution élégante, je prend :)
_________________
Macbook
Core2Duo @ 2.0GHz - 1Go RAM - HD 80Go - Intel GMA 945

Gentoo GNU/Linux
~amd64 - 2.6.24-gentoo-r2 - Fluxbox || (KDE && Compiz-Fusion)
Back to top
View user's profile Send private message
Temet
Advocate
Advocate


Joined: 14 Mar 2006
Posts: 2586
Location: 92

PostPosted: Thu Jan 10, 2008 2:53 pm    Post subject: Reply with quote

kaworu wrote:
Le problème est le suivant : comment traiter la valeur d'une variable en Shell (disons bash) ?
- utiliser ${MYVAR##*pattern} &Co qui est interne donc assez performant, mais vraiment illisible


En parlant de ça, quelqu'un à un lien vers une doc sur cette façon de faire?
Je dois avouer que j'ai du mal à trouver une idée pour des mots clés dans un moteur de recherche pour ça.

Merci d'avance pour les éventuelles réponses.
_________________
Full Gentoo powered.
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3174
Location: Paris

PostPosted: Thu Jan 10, 2008 3:34 pm    Post subject: Reply with quote

Dans l'ABS, ya tout dans l'ABS :)
_________________
-TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Back to top
View user's profile Send private message
Bapt
Veteran
Veteran


Joined: 14 Apr 2003
Posts: 1152
Location: Paris

PostPosted: Thu Jan 10, 2008 3:48 pm    Post subject: Reply with quote

Temet wrote:
kaworu wrote:
Le problème est le suivant : comment traiter la valeur d'une variable en Shell (disons bash) ?
- utiliser ${MYVAR##*pattern} &Co qui est interne donc assez performant, mais vraiment illisible


En parlant de ça, quelqu'un à un lien vers une doc sur cette façon de faire?
Je dois avouer que j'ai du mal à trouver une idée pour des mots clés dans un moteur de recherche pour ça.

Merci d'avance pour les éventuelles réponses.


Sous zsh c'est man zshexpn dans l'entête tu lit "zsh expansion and substitution" donc je cherche dans google "bash expansion and substitution" et :
et au bout de peu de lien je tombe la dessus. http://ftp.gnu.org/old-gnu/Manuals/bash-2.05a/html_node/bashref_29.html
Back to top
View user's profile Send private message
Magic Banana
Veteran
Veteran


Joined: 13 Dec 2005
Posts: 1912
Location: Belo Horizonte, Minas Gerais, Brasil

PostPosted: Thu Jan 10, 2008 4:37 pm    Post subject: Reply with quote

El_Goretto wrote:
Dans l'ABS, ya tout dans l'ABS :)


Je plussoie. L'ABS est vraiment une Bible. Pratiquement tout ce que je sais du bash, je l'ai appris là. Pour utiliser les fonctions un peu avancées de awk et sed, il faut toutefois chercher ailleurs (c'est normal, ce sont des langages de programmation à part entière !).


Last edited by Magic Banana on Thu Jan 10, 2008 4:41 pm; edited 1 time in total
Back to top
View user's profile Send private message
dapsaille
Advocate
Advocate


Joined: 02 Aug 2004
Posts: 2366
Location: Paris

PostPosted: Thu Jan 10, 2008 4:40 pm    Post subject: Reply with quote

Pendant qu'on y est .. question con ..


Comment virer les espaces à LA FIN d'une chaine ?
(j'ai un fichier qui contient valeurESPACEvaleurESPACE .. je veux virer l'espace de fin)

EDIT = Je suis un boulay .... dos2unix m'a fait comprendre que wordpad = le mal :p


Last edited by dapsaille on Thu Jan 10, 2008 4:57 pm; edited 1 time in total
Back to top
View user's profile Send private message
Magic Banana
Veteran
Veteran


Joined: 13 Dec 2005
Posts: 1912
Location: Belo Horizonte, Minas Gerais, Brasil

PostPosted: Thu Jan 10, 2008 4:47 pm    Post subject: Reply with quote

Enlever tous les espaces en fin de ligne:
sed 's/[[:space:]]*$//' fichier


EDIT : Bien sûr, tu peux rediriger la sortie de cette commande vers un fichier à l'aide de > fichier_sortie
Back to top
View user's profile Send private message
dapsaille
Advocate
Advocate


Joined: 02 Aug 2004
Posts: 2366
Location: Paris

PostPosted: Thu Jan 10, 2008 4:58 pm    Post subject: Reply with quote

Ca sens le topic qui vas se faire renommer en

[SHELL] La Caverne :lol: :lol:
Back to top
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3772

PostPosted: Thu Jan 10, 2008 5:35 pm    Post subject: Reply with quote

dapsaille wrote:
Ca sens le topic qui vas se faire renommer en

[SHELL] La Caverne :lol: :lol:

Et bien au besoin, ça serai mieux d'utiliser le DOW prévu à cet effet : [débat] dans les arcanes du shell... ;)
Back to top
View user's profile Send private message
razer
l33t
l33t


Joined: 08 Oct 2004
Posts: 893
Location: Paris - France

PostPosted: Thu Jan 10, 2008 5:49 pm    Post subject: Reply with quote

Une discussion intéressante que vous avez là, même si certaines subtilités entre les shells me sont bien étrangères
Personnellement, et je sens que vais lancer une nouvelle polémique, je scripte en perl : je dis sans doute adieu à la portabilité, mais l'ABS, les quelques pages que j'en ai lu m'ont convaincu que scripter en bash, c'est pas pour moi...
Donc, après les affreux pipe, je lance l'affaire du system() et exec() :)
Back to top
View user's profile Send private message
anigel
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 1894
Location: Un petit bled pas loin de Limoges ;-)

PostPosted: Thu Jan 10, 2008 8:49 pm    Post subject: Reply with quote

kaworu wrote:
Je l'avais écris en Bash, avec des | des grep des sed et toussa. à l'exécution, il prenait 3-4 secondes à l'exécution pour traiter ~ 400 fichiers.
Je l'ai réécris en Ruby "pour le fun", et maintenant j'arrive à 0,1 seconde (même nombre de fichiers).

Merci de me donner raison ;). 3,9 sec d'écart pour un code qui se relit facilement avec des tubes. Contre probablement quelques minutes pour comprendre la version qui gagne 3,9 secondes. Sincèrement, pour gagner 3,9 secondes je ne prends même pas le risque de rendre mon script complexe à relire. Même pour gagner 10 minutes je ne le fais pas. Quand on fait du script, c'est avant tout qu'on cherche à effectuer un travail relativement simple nécessitant des structures de données simplistes. Le shell est très adapté, même si peu efficace. Si on veut des perfs, on ne fait ni du Perl ni du Ruby : on fait du compilé. Non ?

Magic Banana wrote:
EDIT : Bien sûr, tu peux rediriger la sortie de cette commande vers un fichier à l'aide de > fichier_sortie

Plutôt dans un tube, qui reste largement plus efficace que le sous-système d'E/S :lol: :lol: :lol: :lol:.

geekounet wrote:
Et bien au besoin, ça serai mieux d'utiliser le DOW prévu à cet effet : [débat] dans les arcanes du shell... ;)

N'hésite pas à splitter / merger au besoin ; moi je continue ici : tant que le jeu marche, je joue ^^.

@razer : PERL, pour moi, est une sainte horreur. Je ne détaille pas plus : je suis presque certain d'avoir déjà craché sur PERL auparavant sur ce même forum ^^.
_________________
Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres.
Back to top
View user's profile Send private message
DidgeriDude
Guru
Guru


Joined: 30 Jan 2005
Posts: 349

PostPosted: Thu Jan 10, 2008 10:10 pm    Post subject: Reply with quote

Pour le bash, le lien suivant propose en téléchargement le chapitre 2 qui est très simple d'accès pour les évaluations et substitutions : Scripts sous Linux

Sinon, je n'ai pu trouver que la version 4.3 de l'ABS en français (ici). Les versions suivantes sont-elles dispos ?
Back to top
View user's profile Send private message
Magic Banana
Veteran
Veteran


Joined: 13 Dec 2005
Posts: 1912
Location: Belo Horizonte, Minas Gerais, Brasil

PostPosted: Fri Jan 11, 2008 12:02 am    Post subject: Reply with quote

Bah il suffit de virer la fin de ton lien et tu trouves la pages d'accueil avec les liens vers toutes les version : http://abs.traduc.org

La dernière version est la 5.1.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum