|
|
|
|
BONSOIR ET BONNE ANNEE!!!!!!
j'ai un petit problème pour écrire la ligne de commande en c-shell qui traduit l'expression suivante:
"si le fichier(variable1) existe alors compiler ce fichier en langage C".
voici ce que j'ai fait:
IF test -f "$1"/cc$1/endif
Je prefere plutot la bash-shell, mais voici les solutions pour les deux:
#!/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.
|
"find" c'est pour chercher de fichiers dans un arbre de sous-repertoires.
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. |
est ce ça?
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:
|