Pages : 1
#1 Le 02/11/2009, à 15:07
- fr-loic
[Résolu] Comment lister 2 commandes sur la même ligne?
Bonjour j'aimerais trouver le moyen d'avoir le résultat de 2 commandes en une seule ligne pour un petit script.
Exemple simple quand on tape la commande:
uname -n && uname -r
On a:
Desktop
2.6.31-14-generic
Et moi je souhaiterais cela:
Desktop 2.6.31-14-generic
Merci d'avance
Dernière modification par fr-loic (Le 02/11/2009, à 17:58)
La liberté n'a de valeur que partagée → Into the wild
Hors ligne
#2 Le 02/11/2009, à 15:32
- MiNiShOoTeR
Re : [Résolu] Comment lister 2 commandes sur la même ligne?
[minishooter@minishooter-laptop ~]$ uname -r -n
minishooter-laptop 2.6.31-14-generic
[minishooter@minishooter-laptop ~]$ uname -rn
minishooter-laptop 2.6.31-14-generic
Dans le cas où la commande est la même, t'as juste à passer les deux paramètres dessus!
Dernière modification par MiNiShOoTeR (Le 02/11/2009, à 15:32)
Hors ligne
#3 Le 02/11/2009, à 15:40
- fr-loic
Re : [Résolu] Comment lister 2 commandes sur la même ligne?
Ok merci tu m'as eux, j'ai pas choisi le bon exemple, les commandes sont différentes
Voici donc un nouvelle exemple :
uname -n && echo "test"
On a:
Desktop
test
Et je souhaiterais:
Desktop test
Merci d'avance
La liberté n'a de valeur que partagée → Into the wild
Hors ligne
#4 Le 02/11/2009, à 15:42
- MiNiShOoTeR
Re : [Résolu] Comment lister 2 commandes sur la même ligne?
Ah, je me disais que c'était trop facile!
Je sais pas alors, désolé...
Hors ligne
#5 Le 02/11/2009, à 15:47
- compte supprimé
Re : [Résolu] Comment lister 2 commandes sur la même ligne?
(uname -n && uname -r) | tr -d '\n'
#6 Le 02/11/2009, à 15:48
- seb0uil
Re : [Résolu] Comment lister 2 commandes sur la même ligne?
Ok merci tu m'as eux, j'ai pas choisi le bon exemple, les commandes sont différentes
Voici donc un nouvelle exemple :uname -n && echo "test"
Salut,
Pour celui la je sais :
echo `uname -n` test
Après, de façon générique, pas sur que ca marche pour tout...
Enfin, ca marche bien (façon de parler, le résultat est plutot crade) pour un
echo `ls -l` voila
Hors ligne
#7 Le 02/11/2009, à 15:55
- compte supprimé
Re : [Résolu] Comment lister 2 commandes sur la même ligne?
(uname -n && uname -r) | tr -d '\n'
De façon plus générique :
(cmd1 ; cmd2) | tr -d '\n'
#8 Le 02/11/2009, à 15:56
- fr-loic
Re : [Résolu] Comment lister 2 commandes sur la même ligne?
YOUPPIIII merci !
La liberté n'a de valeur que partagée → Into the wild
Hors ligne
#9 Le 02/11/2009, à 16:22
- fr-loic
Re : [Résolu] Comment lister 2 commandes sur la même ligne?
J'ai encore une dernière question, elle est un peut différente mais cela évite d'ouvrir un autre sujet
Si je tape la commande:
echo `lsb_release -i` c cool
on a:
Distributor ID: Ubuntu c cool
Mais moi je souhaites avoir cela (surtout je souhaites garder la commande `lsb_release -i` pour être compatible avec d'autre distribution):
Ubuntu c cool
Sincèrement merci
La liberté n'a de valeur que partagée → Into the wild
Hors ligne
#10 Le 02/11/2009, à 16:27
- compte supprimé
Re : [Résolu] Comment lister 2 commandes sur la même ligne?
echo `lsb_release -i` c cool | sed 's/Distributor ID: //'
#11 Le 02/11/2009, à 16:29
- fr-loic
Re : [Résolu] Comment lister 2 commandes sur la même ligne?
MERCI MERCI MERCI
Tu es trop fort !
La liberté n'a de valeur que partagée → Into the wild
Hors ligne
#12 Le 02/11/2009, à 16:37
- compte supprimé
Re : [Résolu] Comment lister 2 commandes sur la même ligne?
tr, sed, awk, grep... tout ça c'est la base d'UNIX et sa puissance en même temps.
Quelques tours sur google et dans le man et tu verras à quel point ça peut te simplifier la vie.
#13 Le 02/11/2009, à 17:12
- fr-loic
Re : [Résolu] Comment lister 2 commandes sur la même ligne?
Quel aspect prend sid pour une double commande comme celle-ci?
lsb_release -i -r
Je suppose que l'on doit être proche de cela?
sed 's/Distributor ID:\|Release: //'
Merci.
Dernière modification par fr-loic (Le 02/11/2009, à 17:19)
La liberté n'a de valeur que partagée → Into the wild
Hors ligne
#14 Le 02/11/2009, à 17:20
- compte supprimé
Re : [Résolu] Comment lister 2 commandes sur la même ligne?
Le plus simple c'est de supprimer tout ce qu'il y a avant le ':' :
echo `lsb_release -i -r | sed 's/^.*:[ \t]*//'` c cool
Le truc horrible '.*:[ \t]*' est une expression régulière, un 'truc' super puissant sous Unix et qui dans ce cas veut dire :
^ : en début de ligne
.*: : toute suite de caractère suivi du caractère :
[ \t]* : suivi d(autant de suite d'espace et de tabulations que tu peux
#15 Le 02/11/2009, à 17:57
- fr-loic
Re : [Résolu] Comment lister 2 commandes sur la même ligne?
C'est vrai que c'est horrible '.*:[ \t]*'
Merci pour tout.
La liberté n'a de valeur que partagée → Into the wild
Hors ligne
#16 Le 02/11/2009, à 17:59
- fr-loic
Re : [Résolu] Comment lister 2 commandes sur la même ligne?
Sujet Résolu
Merci
La liberté n'a de valeur que partagée → Into the wild
Hors ligne