A voir également:
- Aide pour unix/ c-shell
- Classic shell windows 11 - Télécharger - Personnalisation
- Classic shell c'est quoi ✓ - Forum Windows 10
- Shell do while ✓ - Forum Shell
- Shell startup windows 10 - Guide
- Efi shell version 2.31 - Forum Programmation
8 réponses
Je prefere plutot la bash-shell, mais voici les solutions pour les deux:
En bash-shell:
En c-shell:
Il y a d'autre facons de faire mais ces solutions marchent bien.
En bash-shell:
#!/bin/sh if test -f $1 ; then cc $1 else echo "Le fichier: "$1" n'existe pas ." fi
En c-shell:
#!/bin/csh if ( -f $1 ) then cc $1 else echo "Le fichier: "$1" n'existe pas." endif
Il y a d'autre facons de faire mais ces solutions marchent bien.
maerci beaucoup de ton aide!!! puis-je te poser encore une petite question!!!!!
-créer une commande qui recherche la chaîne "toto" dans le fichier ecole.txt. On appellera cette commande "find".
voici ce que j'ai fais:
je crois être encore dans le faux..... merci de ton aide et bonne année 2005!!!!
-créer une commande qui recherche la chaîne "toto" dans le fichier ecole.txt. On appellera cette commande "find".
voici ce que j'ai fais:
$find/toto/ecole.txt/more
je crois être encore dans le faux..... merci de ton aide et bonne année 2005!!!!
"find" c'est pour chercher de fichiers dans un arbre de sous-repertoires.
Toi tu as besoin de grep:
Ici le "| more" c'est pour stopper l'affiche a la page entiere si c'est ca ce que tu veux.
Sinon tu fais plus simplement:
Apres il y a pleine d'options (regardes "man grep", ou "info grep"). Par exemple pour afficher toutes les lignes qui contiennent "toto" mais pas le mot "bis" tu peux faire avec l'option "-v" et un pipe:
Il y a aussi l'option "-<nombre>" pour afficher quelques lignes autour de l'endroit ou on a trouve "toto", par exemple:
affiche toute les endroits avec "toto" mais avec 3 lignes avant et apres
(en total 7 lignes par endroit). Mais attention cette option ne marche qu'a avec le grep de gnu (en linux c'est bon) mais avec les greps des autres unixs (HP, Sun, ...) ca ne marche pas toujours.
Toi tu as besoin de grep:
grep toto ecole.txt | more
Ici le "| more" c'est pour stopper l'affiche a la page entiere si c'est ca ce que tu veux.
Sinon tu fais plus simplement:
grep toto ecole.txt
Apres il y a pleine d'options (regardes "man grep", ou "info grep"). Par exemple pour afficher toutes les lignes qui contiennent "toto" mais pas le mot "bis" tu peux faire avec l'option "-v" et un pipe:
grep toto ecole.txt | grep -v bis
Il y a aussi l'option "-<nombre>" pour afficher quelques lignes autour de l'endroit ou on a trouve "toto", par exemple:
grep -3 toto ecole.txt
affiche toute les endroits avec "toto" mais avec 3 lignes avant et apres
(en total 7 lignes par endroit). Mais attention cette option ne marche qu'a avec le grep de gnu (en linux c'est bon) mais avec les greps des autres unixs (HP, Sun, ...) ca ne marche pas toujours.
en unix, les commandes qui permettent d'afficher les messages suivants:
"il est 17:30:03 PM"
"nous sommes le wed 20 jun"
est ce ça? car j'ai beaucoup de mal en unix!!!!!
"il est 17:30:03 PM"
\$date+%r 17%m 30 %s03
"nous sommes le wed 20 jun"
bash$date web 20 jun
est ce ça? car j'ai beaucoup de mal en unix!!!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
est ce ça?
Reponse courte: Non. Il faut respecter la syntax des commandes.
car j'ai beaucoup de mal en unix!!!!!
En Linux/Unix il y a la doc, les pages man. Il suffit de taper la commande:
"man <commande>" ou "info <commande>" pour les avoir, (Voir mon poste <4> !)
Ici c'est assez clair:
NAME
date - print or set the system date and time
SYNOPSIS
date [OPTION]... [+FORMAT]
date [OPTION] [MMDDhhmm[[CC]YY][.ss]]
...
FORMAT controls the output. The only valid option for the
second form specifies Coordinated Universal Time. Inter
preted sequences are:
%% a literal %
%a locale's abbreviated weekday name (Sun..Sat)
%A locale's full weekday name, variable length (Sun
day..Saturday)
%b locale's abbreviated month name (Jan..Dec)
%B locale's full month name, variable length (Jan
uary..December)
%c locale's date and time (Sat Nov 04 12:02:33 EST
1989)
%d day of month (01..31)
%D date (mm/dd/yy)
%e day of month, blank padded ( 1..31)
%h same as %b
%H hour (00..23)
%I hour (01..12)
%j day of year (001..366)
%k hour ( 0..23)
%l hour ( 1..12)
%m month (01..12)
%M minute (00..59)
%n a newline
%p locale's AM or PM
%r time, 12-hour (hh:mm:ss [AP]M)
%s seconds since 00:00:00, Jan 1, 1970 (a GNU exten
sion)
%S second (00..60)
%t a horizontal tab
%T time, 24-hour (hh:mm:ss)
%U week number of year with Sunday as first day of
week (00..53)
%V week number of year with Monday as first day of
week (01..52)
%w day of week (0..6); 0 represents Sunday
%W week number of year with Monday as first day of
week (00..53)
...
Donc pour avoir par exemple, pour afficher:
"Il est 17 heures 40 minutes"
(si c'est a 17h30), il faut taper:
Bien sur si on n'est pas soigneux (ne pas mettre les blancs quand c'est necessaire (avant le "+" !!), si on ne comprend pas que les machins "%H" etc. seront remplaces par les vraies valeurs (pourquoi tu as mis le 17 avant le %m ?), etc.) ca ne marche pas. Quand il y a de blancs dans le FORMAT il faut proteger tout le FORMAT par les "..." comme dans mon exemple (sinon la shell ne sait pas que ca doit rester ensemble).
Reponse courte: Non. Il faut respecter la syntax des commandes.
car j'ai beaucoup de mal en unix!!!!!
En Linux/Unix il y a la doc, les pages man. Il suffit de taper la commande:
"man <commande>" ou "info <commande>" pour les avoir, (Voir mon poste <4> !)
Ici c'est assez clair:
man date
==>
NAME
date - print or set the system date and time
SYNOPSIS
date [OPTION]... [+FORMAT]
date [OPTION] [MMDDhhmm[[CC]YY][.ss]]
...
FORMAT controls the output. The only valid option for the
second form specifies Coordinated Universal Time. Inter
preted sequences are:
%% a literal %
%a locale's abbreviated weekday name (Sun..Sat)
%A locale's full weekday name, variable length (Sun
day..Saturday)
%b locale's abbreviated month name (Jan..Dec)
%B locale's full month name, variable length (Jan
uary..December)
%c locale's date and time (Sat Nov 04 12:02:33 EST
1989)
%d day of month (01..31)
%D date (mm/dd/yy)
%e day of month, blank padded ( 1..31)
%h same as %b
%H hour (00..23)
%I hour (01..12)
%j day of year (001..366)
%k hour ( 0..23)
%l hour ( 1..12)
%m month (01..12)
%M minute (00..59)
%n a newline
%p locale's AM or PM
%r time, 12-hour (hh:mm:ss [AP]M)
%s seconds since 00:00:00, Jan 1, 1970 (a GNU exten
sion)
%S second (00..60)
%t a horizontal tab
%T time, 24-hour (hh:mm:ss)
%U week number of year with Sunday as first day of
week (00..53)
%V week number of year with Monday as first day of
week (01..52)
%w day of week (0..6); 0 represents Sunday
%W week number of year with Monday as first day of
week (00..53)
...
Donc pour avoir par exemple, pour afficher:
"Il est 17 heures 40 minutes"
(si c'est a 17h30), il faut taper:
date +"Il est %H heures %M minutes"
Bien sur si on n'est pas soigneux (ne pas mettre les blancs quand c'est necessaire (avant le "+" !!), si on ne comprend pas que les machins "%H" etc. seront remplaces par les vraies valeurs (pourquoi tu as mis le 17 avant le %m ?), etc.) ca ne marche pas. Quand il y a de blancs dans le FORMAT il faut proteger tout le FORMAT par les "..." comme dans mon exemple (sinon la shell ne sait pas que ca doit rester ensemble).
Cher Linuxien nouveau, sache que:
Même si j'ai eu une dizaine de jours de formation Unix il y a maintenant près de 20 ans et que je manipule assez bien la console Linux (car c'est la même que celle d'Unix), j'ai beaucoup apprécié le livre (pas cher) "Linux pour les Nuls".
Je suis sûr que tu résoudrais pas mal de tes problèmes.
Moi c'est ma bible. Je l'ai toujours à coté de ma souris.
Autre chose:
N'oublie pas qu'il faut respecter la syntaxe: surtout il faut des espaces entre la commande et les paramêtres, et entre les paramêtres, sinon la console ne comprend rien.
Ensuite, n'oublie pas que les commandes Linux (comme Unix) sont en minuscules !!!
Enfin, une commande FONDAMENTALE: "man"
Donc si t'as un problème tape : man [nom_de_ta_commande]
amicalementet bon courage !
Même si j'ai eu une dizaine de jours de formation Unix il y a maintenant près de 20 ans et que je manipule assez bien la console Linux (car c'est la même que celle d'Unix), j'ai beaucoup apprécié le livre (pas cher) "Linux pour les Nuls".
Je suis sûr que tu résoudrais pas mal de tes problèmes.
Moi c'est ma bible. Je l'ai toujours à coté de ma souris.
Autre chose:
N'oublie pas qu'il faut respecter la syntaxe: surtout il faut des espaces entre la commande et les paramêtres, et entre les paramêtres, sinon la console ne comprend rien.
Ensuite, n'oublie pas que les commandes Linux (comme Unix) sont en minuscules !!!
Enfin, une commande FONDAMENTALE: "man"
Donc si t'as un problème tape : man [nom_de_ta_commande]
amicalementet bon courage !