Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[Unix] Besoin d'aide pour commandes de base

BobaL, le vendredi 3 novembre 2006 à 16:58:37
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. ++
Répondre à BobaL  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le vendredi 3 novembre 2006 à 17:37:39
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$'
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.
Répondre à jipicy

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
BobaL, le vendredi 3 novembre 2006 à 17:53:47
Merci mais pour les 2 premiers points la question est différente que pour les 2 suivants...

je voyait plutot un truc dans le genre :
mkdir Rangement/
mv *[a-z][A-Z]* Rangement/

mais ça fonctionne pas...

Merci encore. ++
Répondre à BobaL

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le vendredi 3 novembre 2006 à 18:01:34
mkdir Rangement
for i in $(ls | grep '^[a-z][A-Z]'); do mv "$i" Rangement/ ; done
;-))
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.
Répondre à jipicy

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
BobaL, le samedi 4 novembre 2006 à 15:40:00
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. ++
Répondre à BobaL

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 jipicy, le samedi 4 novembre 2006 à 19:13:56
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."

#! /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
;-))
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.
Répondre à jipicy
[script python] intégrer une commande bash (Résolu) Amis linuxiens bonjour, J'aimerais écrire de petits scripts python, est-il possible d'y intégrer des commandes bash ? et si oui comment faire ? Merci par avance de vos réponses. aba evra www.commentcamarche.net/forum/affich-2559811-script-python-integrer-une-commande-bash
Commandes UNIX Tableau des principales commandes UNIX Commande Unix Description Options ls liste le contenu d'un répertoire -a Affiche tous les fichiers, y compris les fichiers cachés ... www.commentcamarche.net/contents/unix/unixcomm.php3
Sed en sortie sur fichier identique (Résolu) Bonjour, j'ai une commande basique de sed pour Unix : sed 's/MotSource/MotDestination/g' infile > outfile le problème est que je voudrais que la modification se retrouve sur le même fichier bien entendue. ex: sed... www.commentcamarche.net/forum/affich-4911956-sed-en-sortie-sur-fichier-identique
[Shell] Accès aux dernières commandes de l'historiqueLe shell Linux/Unix regorge de fonctionnalités permettant de gagner du temps. Ainsi, il est possible de remonter dans l'historique des dernières commandes grâce aux flèches de navigation en appuyant sur la flèche du haut. Mais il y a moyen... www.commentcamarche.net/faq/sujet-971-shell-acces-aux-dernieres-commandes-de-l-historique
[Linux] Utiliser la commande "su"Préambule Se connecter sous un autre ID utilisateur avec "su" Démarrer un nouveau shell de connexion avec "su -" Revenir au shell précédent Suspendre le shell du compte root Notes Préambule La commande "su" (Switch User, appelée plus... www.commentcamarche.net/faq/sujet-156-linux-utiliser-la-commande-su
Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF)Conversion format de fichier DOS UNIX / UNIX DOS Préambule Ce qu'il faut savoir Conversion DOS vers UNIX Conversion UNIX vers DOS Préambule Il existe déjà des utilitaires (dos2unix et unix2dos) qui s'acquittent très bien ce cette... www.commentcamarche.net/faq/sujet-5978-sed-conversion-retours-chariots-dos-crlf-unix-lf
[Makefile] makefile et bash (Résolu)Bonjour, Je cherche à définir dans un makefile une variable que je peux obtenir (normalement) grâce à une commande bash. Malheureusement, il n'est pas possible d'exécuter ce genre de commande dans un makefile. Etant pas très pro en makefile,... www.commentcamarche.net/forum/affich-7362935-makefile-makefile-et-bash
(Bash) -- Simuler une pression sur une touche (Résolu)Bonjour, je recherche une commande Bash pour simuler une pression sur une touche clavier, quelqu’un saurait-il me renseigner ? www.commentcamarche.net/forum/affich-2141330-bash-simuler-une-pression-sur-une-touche
[carte mére] quelle est ma carte mere (Résolu)Salut mon pc marlin 450 continental edison unite de base : processeur : intel pentium 3 à 450 mhz chipset : intel 440 zx vitesse :100mhz ( systeme ) 33mhz ( bus PCI ) bus AGP memoire : 64 mo SDRAM PC100 L2cache : 512k type pipeline burst integre au... www.commentcamarche.net/forum/affich-2189993-carte-mere-quelle-est-ma-carte-mere
UNIX - Les fichiersIntroduction aux fichiers Unix Sous les systèmes UNIX tout élément est représenté sous forme de fichier. L'ensemble des fichiers est architecturé autour d'une unique arborescence dont la base, appelée racine, est notée «/». Types de... www.commentcamarche.net/contents/unix/unix-fichiers.php3
Introduction aux systèmes UNIXLe système UNIX Le système Unix est un système d'exploitation multi-utilisateurs, multi-tâches, ce qui signifie qu'il permet à un ordinateur mono ou multi-processeurs de faire exécuter simultanément plusieurs programmes par un ou plusieurs... www.commentcamarche.net/contents/unix/unixintro.php3
Systèmes UNIX - Le shellIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire entre le système... www.commentcamarche.net/contents/unix/unix-shell.php3