[Unix] Besoin d'aide pour commandes de base
BobaL
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Salut,
Voila j'ai un peut de boulot pour les vacances et j'ai besoin de votre aide...
Ce sont des commandes unix pour exécuter des actions simples mais quelques unes me posent problème :
1- vous désirez regrouper dans un repertoire rangement les fichiers dont le nom contient un caractère minuscule suivi d'un caractère majuscule. Quelle(s) est/sont la/les commande(s) à donner ?
2- idem mais avec les fichiers dont le nom contient 3 voyelles à la suite.
3- en utilisant ls et grep, afficher la liste des fichiers dans /bin dont le nom :
. commence par "a" et dont la deuxième lettre est "s" ou "t";
. contient "un" et se termine par "t".
Ce qui me gène en fait c'est la succession des critères de recherche... j'ai bo chercher impossible de trouver.
Si vous pouvez m'aider... merci beaucoup. ++
Voila j'ai un peut de boulot pour les vacances et j'ai besoin de votre aide...
Ce sont des commandes unix pour exécuter des actions simples mais quelques unes me posent problème :
1- vous désirez regrouper dans un repertoire rangement les fichiers dont le nom contient un caractère minuscule suivi d'un caractère majuscule. Quelle(s) est/sont la/les commande(s) à donner ?
2- idem mais avec les fichiers dont le nom contient 3 voyelles à la suite.
3- en utilisant ls et grep, afficher la liste des fichiers dans /bin dont le nom :
. commence par "a" et dont la deuxième lettre est "s" ou "t";
. contient "un" et se termine par "t".
Ce qui me gène en fait c'est la succession des critères de recherche... j'ai bo chercher impossible de trouver.
Si vous pouvez m'aider... merci beaucoup. ++
A voir également:
- [Unix] Besoin d'aide pour commandes de base
- Invite de commandes - Guide
- Base de registre windows - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Gigaset a170h problème base ✓ - Forum telephonie fixe
- La base de données de sécurité du serveur n'a pas de compte d'ordinateur pour la relation ✓ - Forum Réseau
4 réponses
Salut,
1- vous désirez regrouper dans un repertoire rangement les fichiers dont le nom contient un caractère minuscule suivi d'un caractère majuscule.
ls | grep '^[a-z][A-Z]'
2- idem mais avec les fichiers dont le nom contient 3 voyelles à la suite.
ls | grep -E '[aeiouy]{3}'
3- en utilisant ls et grep, afficher la liste des fichiers dans /bin dont le nom :
. commence par "a" et dont la deuxième lettre est "s" ou "t";
ls | grep '^a[st]'
. contient "un" et se termine par "t".
ls | grep -E 'un{1,}t$'
1- vous désirez regrouper dans un repertoire rangement les fichiers dont le nom contient un caractère minuscule suivi d'un caractère majuscule.
ls | grep '^[a-z][A-Z]'
2- idem mais avec les fichiers dont le nom contient 3 voyelles à la suite.
ls | grep -E '[aeiouy]{3}'
3- en utilisant ls et grep, afficher la liste des fichiers dans /bin dont le nom :
. commence par "a" et dont la deuxième lettre est "s" ou "t";
ls | grep '^a[st]'
. contient "un" et se termine par "t".
ls | grep -E 'un{1,}t$'
J'en peux plus... 2 jours de Terminal et j'arrive a rien...
Donc je viens a nouveau faire appel aux bonnes volontés mais cette fois ci c'est du lourd 8-)
1- On ne s'interesse ici qu'à des fichiers contenant un mot par ligne. Ecrire un script qui compte le nombre de mots contenant une des lettres "r", "s" et "t", et parmi eux, ceux qui ont au moins deux telles lettres. On donnera aussi le nombre de mots ne contenant aucune voyelle. Cela donnera par exemple :
"Dans ce fichier vous avez :"
"45 mots contenant "r", "s" et "t", et parmi eux,"
"12 contiennent deux de ces lettres au moins."
"Il y a aussi 10 mots ne contenant aucune voyelle."
2- On veut chercher toutes les occurences des quatre éléments (terre, air, eau, feu) dans la première partie du fichier Germinal.
On veut aussi que le résultat soit placé dans un fichier, et que le résultat soit classé : toutes les lignes qui contiennent "air", puis celles qui contiennent "eau", etc.
3- Chercher le mot "mine" dans les chapitres 3, 4, et 5 de la première partie du fichier germinal, et obtenir un fichier dans lequel figure le nombre d'occurences du mot dans les fichiers, avec le numéro des lignes.
Voilà j'arrête là...
Donc si vous savez faire ça sans forcer, je serais heureux que vous m'aidiez
Merci a toutes les bones volontés. ++
Donc je viens a nouveau faire appel aux bonnes volontés mais cette fois ci c'est du lourd 8-)
1- On ne s'interesse ici qu'à des fichiers contenant un mot par ligne. Ecrire un script qui compte le nombre de mots contenant une des lettres "r", "s" et "t", et parmi eux, ceux qui ont au moins deux telles lettres. On donnera aussi le nombre de mots ne contenant aucune voyelle. Cela donnera par exemple :
"Dans ce fichier vous avez :"
"45 mots contenant "r", "s" et "t", et parmi eux,"
"12 contiennent deux de ces lettres au moins."
"Il y a aussi 10 mots ne contenant aucune voyelle."
2- On veut chercher toutes les occurences des quatre éléments (terre, air, eau, feu) dans la première partie du fichier Germinal.
On veut aussi que le résultat soit placé dans un fichier, et que le résultat soit classé : toutes les lignes qui contiennent "air", puis celles qui contiennent "eau", etc.
3- Chercher le mot "mine" dans les chapitres 3, 4, et 5 de la première partie du fichier germinal, et obtenir un fichier dans lequel figure le nombre d'occurences du mot dans les fichiers, avec le numéro des lignes.
Voilà j'arrête là...
Donc si vous savez faire ça sans forcer, je serais heureux que vous m'aidiez
Merci a toutes les bones volontés. ++
Salut,
1- On ne s'interesse ici qu'à des fichiers contenant un mot par ligne. Ecrire un script qui compte le nombre de mots contenant une des lettres "r", "s" et "t", et parmi eux, ceux qui ont au moins deux telles lettres. On donnera aussi le nombre de mots ne contenant aucune voyelle. Cela donnera par exemple :
"Dans ce fichier vous avez :"
"45 mots contenant "r", "s" et "t", et parmi eux,"
"12 contiennent deux de ces lettres au moins."
"Il y a aussi 10 mots ne contenant aucune voyelle."
2- On veut chercher toutes les occurences des quatre éléments (terre, air, eau, feu) dans la première partie du fichier Germinal.
On veut aussi que le résultat soit placé dans un fichier, et que le résultat soit classé : toutes les lignes qui contiennent "air", puis celles qui contiennent "eau", etc.
3- Chercher le mot "mine" dans les chapitres 3, 4, et 5 de la première partie du fichier germinal, et obtenir un fichier dans lequel figure le nombre d'occurences du mot dans les fichiers, avec le numéro des lignes.
1- On ne s'interesse ici qu'à des fichiers contenant un mot par ligne. Ecrire un script qui compte le nombre de mots contenant une des lettres "r", "s" et "t", et parmi eux, ceux qui ont au moins deux telles lettres. On donnera aussi le nombre de mots ne contenant aucune voyelle. Cela donnera par exemple :
"Dans ce fichier vous avez :"
"45 mots contenant "r", "s" et "t", et parmi eux,"
"12 contiennent deux de ces lettres au moins."
"Il y a aussi 10 mots ne contenant aucune voyelle."
#! /bin/bash val1=$(egrep -c '(r|s|t)' fichier.txt) val2=$(egrep -c '(.*r+.*t+.*)|(.*r+.*s+)|(.*s+.*t+)' fichier.txt) val3=$(egrep -cv '[aeiouy]' fichier.txt) echo -e "Dans ce fichier vous avez :\n" echo -e "$val1 mots contenant \"r\", \"s\" et \"t\", et parmi eux," echo -e "$val2 contiennent deux de ces lettres au moins." echo -e "Il y a aussi $val3 mots ne contenant aucune voyelle."
2- On veut chercher toutes les occurences des quatre éléments (terre, air, eau, feu) dans la première partie du fichier Germinal.
On veut aussi que le résultat soit placé dans un fichier, et que le résultat soit classé : toutes les lignes qui contiennent "air", puis celles qui contiennent "eau", etc.
for i in air eau feu terre ; do grep "$i" monfich.txt >> resultat.txt ; done
3- Chercher le mot "mine" dans les chapitres 3, 4, et 5 de la première partie du fichier germinal, et obtenir un fichier dans lequel figure le nombre d'occurences du mot dans les fichiers, avec le numéro des lignes.
grep "mine" texte.txt | sed -e 's/\.//g' -e 's/\,//g' -e s'/ /\n/g'| grep -c "mine" > sortie.txt && grep -n "mine" texte.txt >> sortie.txt;-))