|
|
|
|
Salut
Essaie ceci : cat fichier_ascii | tr ";" " " Michael. Ne vous souciez pas de n'être pas remarqué ; cherchez plutôt à faire quelque chose de remarquable [Confucius] |
Quelle doit être l'extension d'un fichier script? |
Quelques précisions:
Ceci peut résumer la situation johand@horus:~/src/bash$ cat > bidon #! /bin/sh cat | tr ";" " " ^D johand@horus:~/src/bash$ chmod +x semicol2space johand@horus:~/src/bash$ cat bidon ab;cd efg;hij; ;toto johand@horus:~/src/bash$ ./semicol2space < bidon ab cd efg hij_ _toto # _ représente ici un espace en début ou fin de chaîne Tu as donc créé un filtre "semicol2space" qui transforme l'entrée standard et l'expédie vers stdout (la console par défaut L'extension de l'exécutable n'a aucune importance dans les UNICES. Ton fichier semicol2space doit -être exécutable (sauf utilisaton de la commande interne "." ou source) -référencer l'interpréteur de commande (ici /bin/sh) dans la ligne bang (commençant par #!) johand@horus:~/src/bash$ file /bin/sh /bin/sh: symbolic link to `bash' qui est un lien symbolique vers bash Bon, tu intègres le corps du fichier dans ton script/tu en fais une fonction bash/.... Il est sous-entendu que tu utilises bash comme interpréteur . CU later Johan Gates gave you the windows. GNU gave us the whole house.(Alexandrin) |
Bonjour jisisv,
Je vais passer pour une bonne à rien mais je voulais comprendre ce que tu as écrit (tu as l'air très bon!!!). Je dois replacer quoi oar quoi? Mon repertoire ou se trouve mes fichiers ascii à modifier est /users/natacha/test. Mes fichiers sont des txt. Désolé de poser toutes ces questions mais ce petit script va vraiment m'aider. Encore merci Nat |
Quelle est la ligne de commande pour lancer le script en question? |
A quoi ta commande "remplacer" fait elle référence?
As-tu une bonne maîtrise (lue of course) de l'anglais? Ta question est-elle extraîte d'un TP? .... Johan Gates gave you the windows. GNU gave us the whole house.(Alexandrin) |
A quoi ta commande "remplacer" fait elle référence?
As-tu une bonne maîtrise (lue of course) de l'anglais? Ta question est-elle extraite d'un TP? .... Si tu connais les extensions des fichiers (txt inf) Un truc basique; pas testé... for myfile in $(find . -maxdepth 1 -type f -name "*txt" -or -name "*inf") ; do semicol2space < $file > ${file}.new done exksplikacionz: -maxdepth limite les recherches à un niveau dans l'arborescence (donc le répertoire courant) -name extensions des fichiers -or ou inclusif -for regarde bash help for - < redirection de $file vers l'entrée standard - > redirection de l'output vers le fichier ${file}.new J'utilise ici une syntaxe bash assez stricte pour la redirection ${file} au lieu de $file Tu peux chercher des explications sous help (sous bash) man bash man find En cherchant sous Google tu trouveras des tutoraiaux en français sur find, tr et consorts. (la langue française n'étant jamais un crière de choix pour moi) Johan Gates gave you the windows. GNU gave us the whole house.(Alexandrin) |
J'ai bien compris tes dernières commandes mais je n'arrive pas à créer le fichier qui compose ce script. Je suppose qu'il doit avoir une extension "executable"??
Merci Nat P.S: Ce n'est pas pour un TP mais dans le cadre de mon travail. Ce script qui est sûrement le beaba pour un connaisseur me permettra de modifier des fichiers rapidement afin de travailler dessus le plus tôt possible. |
Salut,
Il n'y a pas d'extension pour rendre ton script exécutable. Il faut lui changer les droits d'accès : chmod +x ton_script Michael. Ne vous souciez pas de n'être pas remarqué ; cherchez plutôt à faire quelque chose de remarquable [Confucius] |
Vous allez vouloir me tuer mais lorsque je lance le script il me marque:
find : option -maxdeph erronée |
s/maxdeph/maxdepth/
C'est bien maxdepth qu'il faut lire Gates gave you the windows. GNU gave us the whole house.(Alexandrin) |