Contenu | Rechercher | Menus

Annonce

L'équipe des administrateurs et modérateurs du forum vous invite à prendre connaissance des nouvelles règles.
En cas de besoin, vous pouvez intervenir dans cette discussion.

Ubuntu 18.04 LTS
Ubuntu-fr propose des clés USB de Ubuntu et toutes ses « saveurs » ainsi qu'un magnifique t-shirt pour cette toute nouvelle version d'Ubuntu !

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/06/2018, à 15:38

elhaouate

j'ai besoin de ma réponde sur des question concernant les commande sv

1.    Afficher la liste des fichiers/répertoires dont le nom ne contient aucun chiffre
2.    Afficher les lignes de 2 à 5 du fichier data.txt ordonnées par ordre alphabétique.
3.    Concaténer deux fichiers texte txt1 et txt2 sur un seul fichier de  nom visu.txt
4.    Faire une copie du fichier visu.txt sous le nom vis2.txt
5.    Comment voir les différentes options de la commande ls
6.    Quelle commande listera les fichiers du répertoire courant dont le nom commence par une lettre comprise entre « a » et « e » ?
7.    Rechercher dans le répertoire rep, les fichiers modifiés il y a plus de 30 jours ?
8.    Rechercher les fichiers/répertoires modifiés dans les 3 derniers jours dans toute l'arborescence (/)

merci en avance

Hors ligne

#2 Le 06/06/2018, à 15:46

Nasman

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

Et tu veux qu'on fasse tes devoirs à ta place, aussi ? mad


PC fixe et portable avec Xenial 64 bits

En ligne

#3 Le 06/06/2018, à 15:48

cqfd93

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

Bonjour, c'est un bon début quand on demande de l'aide…

À toutes ces questions, je n'ai qu'une réponse : relis ton cours et creuse-toi un peu la tête. Le forum n'est pas là pour faire tes devoirs à ta place.


cqfd93

En ligne

#4 Le 06/06/2018, à 15:56

elhaouate

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

j'ai deja des réponse mais je sais pas si correct ou non

Hors ligne

#5 Le 06/06/2018, à 15:58

diesel83140

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

Ben..., donne les, tes réponses, et on te dira.

Amicalement.

Jean-Marie


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; C'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#6 Le 06/06/2018, à 16:14

elhaouate

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

3 - cat txt1 txt2 >> visu.txt
5 - man ls
4- cp visu.txt vis2.txt
6 - ls -l [a-e]*.txt
8 - find / -mtime -3

alors ? big_smile

Hors ligne

#7 Le 06/06/2018, à 18:19

diesel83140

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

Il en manque. big_smile big_smile big_smile

La 5 non (enfin, c'est une solution, mais je ne pense pas que ce soit la réponse attendue par celui qui a posé la question).
La 6 non (enfin, il y a de l'idée et c'est presque ça, mais ça ne répond pas à la question).

Et si tu sais répondre à la question 8, tu sais forcement répondre à la question 7.

Amicalement.

Jean-Marie

Dernière modification par diesel83140 (Le 06/06/2018, à 22:37)


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; C'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#8 Le 08/06/2018, à 13:48

diesel83140

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

Maintenant que notre ami elhaouate a un peu cherché, on peut donner les réponses (enfin, les nôtres, car il peut facilement y en avoir plusieurs).

1) ls !(*[0-9]*)
1) ls | grep -v [0-9]
2) head -n 5 toto.txt | tail -n 4 (on doit aussi y arriver avec sed)
3) cat txt1 txt2 > visu.txt
4) cp visu.txt vis2.txt
4) cat visu.txt >vis2.txt
5) ls --help (bon, "man ls" peut aussi être considéré comme acceptable)
6) ls [a-e]*
7) find rep -mtime -30
8) sudo find / -mtime -3

Allez, à vos claviers.

Amicalement.

Jean-Marie

Dernière modification par diesel83140 (Le 08/06/2018, à 14:03)


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; C'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#9 Le 08/06/2018, à 17:41

elhaouate

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

Mercii jean marie

j'ai d'autre question concernant le scprit peux tu faire la correction ?!

merci d'avance

#Écrire un script qui vérifie que le nom passé en paramètre est un fichier ou un répertoire et s'il a le droit d'écriture, d’exécution et de lecture.

#!/bin/bash

if [ -d $1 ]; then
echo "c'est un repertoire"

elif [ -f $1 ]; then
echo "c'est un fichier"

elif [ -L $1 ]; then
echo "c'est un lien symbolique"

fi

if [ -w $1 ]; then
echo "le fichier a le droit d'ecriture"
fi

if [ -r $1 ]; then
echo "le fichier a le droit de lecture"
fi

if [ -w $1 ]; then
echo "le fichier a le droit d'execution"
fi

Hors ligne

#10 Le 08/06/2018, à 19:12

diesel83140

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

Juste que l'exécution, c'est -x.

Amicalement.

Jean-Marie


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; C'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#11 Le 08/06/2018, à 19:17

elhaouate

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

ah oui c juste une faute de frappe merciiii

et pour cet exercice

# !/bin/bash

while [ 1 ] ;  do
    echo "Menu"
        echo " déplacler tous les fichiers du répertoire rep1 au répertoire  rep2      1"
    echo " n premieres lignes d'un fichier                                             2 "
    echo " Changement de repertoire                                                      3 "
        echo " Affecter 17 à la variable « num » et ajouter lui 5                              4 "
    echo " Informations sur un fichier                                                      5  "
    echo " Affichage repertoire courant                                                            6  "
    echo " Liste des fichiers du repertoire                                            7  "
    echo " Sortir                                                                       0 " 

read -p "choix: " choix

case "$choix" in
             0)    exit 1;;
1)    A remplir
2)   read -p "nom du fichier : " file
      read -p "nombre de ligne a affichier : " n
      head $n $file ;;
3)   read -p "nouveau répertoire : " rep
      cd $rep ;;
4)    A remplir
5)   read -p "nom du fichier : " file
        ls -l $file ;;
6)   pwd ;;
7)   ls ;;
*)   echo "Choix inconnu"

Hors ligne

#12 Le 08/06/2018, à 19:23

diesel83140

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

A première vue, ça me paraît pas mal.

Et si tu as su faire le 2) tu ne devrais pas avoir de mal à compléter le 1)

Amicalement.

Jean-Marie


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; C'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#13 Le 08/06/2018, à 19:42

cqfd93

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

Modération

Bonjour,

Pour ajouter toi-même les balises code à tes messages #9 et #11 :

  • Cliquer sur le lien « Modifier » en bas à droite du message

  • Sélectionner le texte

  • Cliquer sur le <> de l'éditeur de message
    1471986854.png


cqfd93

En ligne

#14 Le 08/06/2018, à 19:54

golgoth63

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

Bonsoir,

pour le #9, pas sur que ton prof soit aussi gentil que diesel83140 !

Écrire un script qui vérifie que le nom passé en paramètre
La première opération est toujours de vérifier que le script a bien été lancé avec un argument : test de $# & exit 1 si erreur

Edit : tu oublies également le cas où l'argument reçu n'est ni un fichier, ni un dossier, ni un lien.

2ième partie sur les droits :
si $1 est un lien, les tests sont inutiles. On peut te le reprocher,
si $1 est un dossier, je te laisse juger de echo "le fichier ....

3ième point, prend l'habitude de signaler une exécution correcte en fin de script même si cela te parait inutile.

#!/bin/bash
.....
.....
exit 0

Pour le #11, choix 5, vous n'avez pas appris les commandes "file" & "stat" ? Je te laisse consulter le man et les tester.

Dernière modification par golgoth63 (Le 09/06/2018, à 05:22)


Kubuntu 18.04 LTS / KDE neon 5.12 LTS
Un livre de Frédéric Dard à lire : les trolls ! Comme à la maternelle, c'est celui qui dit qui est !
Avis d'un troll : Linux, c'est simple ! A moins de faire le nécessaire pour tout compliquer !

Hors ligne

#15 Le 08/06/2018, à 21:32

alex2423

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

diesel83140 a écrit :

2) head -n 5 toto.txt | tail -n 4 (on doit aussi y arriver avec sed)

Humm, je pensais que sed permettait de faire un remplacement d'une chaine par une autre, un peu comme la commande %s sous vim.
Là il s'agit de récupérer uniquement une portion de ligne d'un fichier.
Selon moi, la seule solution est de faire comme cela en effet. Ne pas oublier de piper le résultat avec la commande sort pour trier wink

diesel83140 a écrit :

7) find rep -mtime -30

Je rajouterais l'option -type f parc qu'il s'agit de rechercher uniquement des fihiers

find rep -mtime -30 -type f
diesel83140 a écrit :

8) sudo find / -mtime -3

Et je vais être relou big_smile pour la même raison, il s'agit de rechercher uniquement des fichiers ou répertoires, pas de lien symboliques

sudo find / -mtime -3 -type f -o -type d

Hors ligne

#16 Le 08/06/2018, à 21:39

Watael

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

3ième point, prend l'habitude de signaler une exécution correcte en fin de script même si cela te parait inutile.

de mon point de vue, c'est non seulement inutile, mais potentiellement nuisible.
ce n'est pas parce que le script va jusqu'au bout qu'il doit nécessairement sortir avec un code de retour disant qu'il s'est bien déroulé, surtout si ce n'est pas le cas.


eval, c'est mal.

En ligne

#17 Le 09/06/2018, à 00:48

golgoth63

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

Watael a écrit :

ce n'est pas parce que le script va jusqu'au bout qu'il doit nécessairement sortir avec un code de retour disant qu'il s'est bien déroulé, surtout si ce n'est pas le cas.

Donc toi quand tu programmes, si cela se déroule mal, tu laisses continuer et tu ne renvoies pas de code d'erreur ? Comment tu dis ? Renvoyer un code d'erreur serait nuisible ! J'espère que le prof aura la même vision que toi.

Un script qui s'est mal déroulé doit exécuter "exit 1" (éventuellement avec un test avant la fin) et donc ne pas arriver au "exit 0"..
Tiens c'est bizarre ! Si tu n'avais pas coupé ce que j'ai écrit, on verrait le exit 1 du déroulement raté.

Mais libre de ne pas coder les retours erreur / no erreur et donc de ne pas pouvoir savoir. Moi je n'attends pas de notes donc libre à l'auteur de ce fil de faire comme il veut.

Dernière modification par golgoth63 (Le 09/06/2018, à 01:33)


Kubuntu 18.04 LTS / KDE neon 5.12 LTS
Un livre de Frédéric Dard à lire : les trolls ! Comme à la maternelle, c'est celui qui dit qui est !
Avis d'un troll : Linux, c'est simple ! A moins de faire le nécessaire pour tout compliquer !

Hors ligne

#18 Le 09/06/2018, à 02:53

Watael

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

si tout s'est bien déroulé le code retour du script est 0, par défaut !
par contre, le mettre systématiquement peut masquer le code de retour d'une autre commande.


eval, c'est mal.

En ligne

#19 Le 09/06/2018, à 05:32

golgoth63

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

Watael a écrit :

si tout s'est bien déroulé le code retour du script est 0, par défaut !
par contre, le mettre systématiquement peut masquer le code de retour d'une autre commande.

en gros j'ai tord mais ton argument pour le justifier...d'une autre commande .... est lui archi faux :

Un script peut être vu comme une suite de commandes à laquelle on a donné un nom. Il s'en suit que le code de retour d'un programme shell est le code de retour de la dernière commande qu'il a exécutée.


Moralité, mettre en dernière ligne

echo "Fin"

selon tes dires, cela est nuisible.

Commande exit
syntaxe  : exit [ n ]
Elle provoque l'arrêt du programme shell avec un code de retour égal à n. Si n n'est pas précisé, le code de retour fourni est celui de la dernière commande exécutée.


@elhaouate

C'est à toi de gérer correctement une possible erreur d'exécution qui entrainera un "exit 1", ce qui n'est pas fait au #9

Tiens, je serai curieux de savoir comment le prof considèrerait le script tel que proposé avec comme argument passé "pas d'argument", "/root" "/coucou" ou "_v(oxd-tof(f".


Dommage, je ne peux pas faire un petit dessin avec le losange, on apprend ça avant même de taper une ligne de code (d'ailleur, à ce niveau, on se contre fiche du langage de programmation qui sera utilisé) et tant pis si Watael considère que c'est nuisible :
--> Argument reçu ? oui on continue, non au choix nouvelle saisie ou echo "pas d'arg" exit 1.
--> L'argument a un type incorrect ? echo "erreur de type" exit 1.
....
etc
....
--> Le programme c'est bien déroulé ? oui, exit 0, non echo "erreur XXXX" exit 1.


Pas de cours d'algorithmie ?
Une bonne programmation passe par une bonne analyse et un algorithme bien fait du programme.B-A-BA. Et pas je tape du code encore et encore sans savoir où je vais.


Après, je n'ai aucune idée de la formation suivie ni du niveau à atteindre. Effectivement, exit 0, on peut parler de superflu pour un bash qui fait echo "hello word" "ls". echo "end".


Tiens, je suis de bonne humeur, j'en rajoute une couche.

Après la première ligne, un script (un prog, une fonction, un fichier de configuration...) "bien fait" contient une série de lignes de commentaires décrivant les fonctionnalités du script, le(s) argument(s) d'appel...le numéro de version, l'auteur (ou l'équipe de développement), les modifications dans le temps...etc...

En gros pleins de choses qui seront jugées comme inutiles par beaucoup....(effectivement, pour jouer à la maison et en étant sur de se rappeler dans 2 ans ce que tu as fait) mais pas si on souhaite en faire son métier voir juste apprendre correctement.

Regardez les scripts et fichiers de votre système linux si vous êtes convaincus que c'est un principe à la C...

Dernière modification par golgoth63 (Le 09/06/2018, à 08:09)


Kubuntu 18.04 LTS / KDE neon 5.12 LTS
Un livre de Frédéric Dard à lire : les trolls ! Comme à la maternelle, c'est celui qui dit qui est !
Avis d'un troll : Linux, c'est simple ! A moins de faire le nécessaire pour tout compliquer !

Hors ligne

#20 Le 09/06/2018, à 08:17

diesel83140

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

@Golgoth63 : je souscris à 100% à ce que tu écris.

"désolé" pour mes premières réponses rapides, dans la lignée des questions initiales, formulées dans l'esprit "la syntaxe est correcte, ou pas" et non pas dans l'optique conception et rédaction (puis utilisation et maintenance) d'un programme (sachant qu'un script..., c'est un programme).

Amicalement.

Jean-Marie


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; C'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#21 Le 09/06/2018, à 08:26

FrancisFDZ

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

Bonjour,

golgoth63 a écrit :

Regardez les scripts et fichiers de votre système linux si vous êtes convaincus que c'est un principe à la C

On parle du langage C et de ses principes ou d'une c..nerie potentielle smile ?

Dernière modification par FrancisFDZ (Le 09/06/2018, à 08:26)


-- On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre --
[Victor Hugo]

Hors ligne

#22 Le 09/06/2018, à 09:29

golgoth63

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

@FrancisFDZ
ça c'est parce que tu n'as pas compté le nombre de points après C sachant qu'il y a aussi le point final de la phrase.

Sinon, toujours pour ce script, dommage que elhaouate n'est pas répondu à la question sur les commandes qu'ils ont apprises. Pour tester le type de arg1 ($1), je verrai bien pour commencer :

file -b -E $1

suivi d'un "case" sur le retour de cette commande à la place de la série de "if / elif". Bon, c'est aussi parce que personnellement, je trouve le "case" plus "lisible".
Je le laisse chercher l'intérêt des options passées.

Dernière modification par golgoth63 (Le 09/06/2018, à 09:41)


Kubuntu 18.04 LTS / KDE neon 5.12 LTS
Un livre de Frédéric Dard à lire : les trolls ! Comme à la maternelle, c'est celui qui dit qui est !
Avis d'un troll : Linux, c'est simple ! A moins de faire le nécessaire pour tout compliquer !

Hors ligne

#23 Le 09/06/2018, à 15:19

Watael

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

golgoth63 a écrit :

le code de retour d'un programme shell est le code de retour de la dernière commande qu'il a exécutée.

donc, une autre commande !


eval, c'est mal.

En ligne

#24 Le 09/06/2018, à 20:51

diesel83140

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

Watael a écrit :
golgoth63 a écrit :

le code de retour d'un programme shell est le code de retour de la dernière commande qu'il a exécutée.

donc, une autre commande !

Certes, mais seulement la dernière exécutée dans le script.

Si ton code d'erreur est intervenu à la suite de l'exécution de l'avant-dernière commande et que la dernière te donne un code de bonne exécution, tu l'as dans le c.l.

Amicalement.

Jean-Marie


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; C'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#25 Le 09/06/2018, à 21:19

Watael

Re : j'ai besoin de ma réponde sur des question concernant les commande sv

ça ne change rien au superflu d'un exit 0 systématique en fin de script.

on n'écrit pas du C qui, lui, requiert impérativement un code de retour.

de toute façon, si une commande importante échoue, il faut sortir du script avant son terme normal.

je le dit encore (autrement) : un statut de non-erreur sans vérifier que l'ensemble du script s'est bien déroulé peut-être nocif.


eval, c'est mal.

En ligne