|
|
Page précédente : Les toutes premières commandes du shell à expérimenter Sommaire :
Quelques autres commandes utiles pour le traitement de fichiers à partir de la consoleVider un fichier de tout son contenu sans le supprimerNous avons vu à la page sur les toutes premières commandes du shell comment créer un fichier vide de tout contenu avec la commande 'touch'. Inversement, vous pouvez 'vider' de son contenu un fichier préexistant, sans pour autant l'effacer, en combinant la 'commande vide' représentée par un caractère deux-points ':' et l'opérateur de redirection '>', que nous avons déjà utilisé ici : [toto@localhost ~/Documents/Essais]$ cat ingredients.txt abricots sucre eau [toto@localhost ~/Documents/Essais]$ : > ingredients.txt [toto@localhost ~/Documents/Essais]$ cat ingredients.txt [toto@localhost ~/Documents/Essais]$ Utile si vous travaillez sur un fichier dont la présence est indispensable au bon fonctionnement d'une application, ou si vous voulez par la suite ajouter du contenu au fichier et si vous préférez qu'il reste présent pour ne pas oublier. Créer plusieurs lignes de contenu 'en une seule fois' dans un fichier texte avec 'cat'Nous avons vu à la page sur les toutes premières commandes du shell comment ajouter une ligne à la fin d'un fichier sans supprimer son contenu préexistant , et comment remplacer tout le contenu d'un fichier texte par une nouvelle ligne ou créer un fichier ayant une ligne de contenu déterminée. Ce travail ligne par ligne peut être très utile et suffisant dans bien des cas, mais l'on peut aussi avoir à mettre 'd'un seul coup', dans un fichier texte, plusieurs lignes de contenu et dans ce cas les méthodes qui précèdent sont un peu laborieuses. Il est alors plus simple d'utiliser la commande cat que nous connaissons déjà. Utilisée sans argument, cette commande accepte en entrée tout ce que vous tapez au clavier, il suffit alors de rediriger sa sortie vers un fichier à l'aide des opérateurs de redirection '>' ou bien '>>' pour pouvoir obtenir ce que nous souhaitons. Pour créer un fichier avec plusieurs lignes de contenu ou remplacer le contenu d'un fichier existant par un ensemble de nouvelles lignes tapez donc quelque chose comme : cat > ingredients.txt et pour ajouter des lignes à la fin d'un fichier existant ce sera : cat >> ingredients.txt Ensuite, dans les deux cas, vous tapez le contenu d'une ligne puis quand vous êtes sûr qu'elle est correcte, vous appuyez sur la touche <ENTREE> (attention aucune correction ne sera possible dans le cadre de cette commande après avoir pressé <ENTREE>). Vous tapez la ligne suivante, puis de nouveau <ENTREE>, tout cela autant de fois que nécessaire. Quand tout est fini, vous pressez simultanément les touches 'Ctrl' et 'c' (Ctrl+C). Ouvrir un fichier texte dans votre éditeur de texte en passant par la consoleNous avons vu dans ce qui précède comment créer dans un fichier texte UNE ligne de contenu, puis PLUSIEURS lignes de contenu d'un seul coup. Naturellement, vous pouvez aussi avoir envie de modifier profondément un gros fichier texte et pour cela de le parcourir rapidement d'un bout à l'autre, d'y intervenir ici ou là de diverses façons. Dans ce cas, il vaudra généralement mieux passer par l'entremise d'un éditeur de texte : emacs, vim, gedit, kate etc. à vous de choisir… Vous devrez naturellement consulter la documentation dudit éditeur pour apprendre à en tirer le maximum. L'important ici est de noter que vous pouvez très bien ouvrir un fichier texte dans un éditeur de texte à partir de la console. Par exemple, pour ouvrir, respectivement dans emacs ou dans kate, le fichier ingredients.txt vous ferez tout simplement ceci (je suppose, pour illustration, que le fichier ingredients.txt est dans votre répertoire de travail) : emacs ingredients.txt ou kate ingredients.txt Je vous rappelle que, le plus souvent, la complétion automatique, autrement dit l'auto-complétement, vous permet de n'avoir à taper qu'une partie des noms d'éditeur ou de fichiers. Tout cela va donc en général très vite pour peu que vous ayez une console ouverte sous la main. Cela peut être beaucoup plus rapide que d'aller chercher l'icône (peut-être cachée pour le moment, si vous utilisez tout l'espace de votre écran) de votre navigateur de fichier, vous rendre dans le bon répertoire pour cliquer sur l'icône du fichier (en supposant que les réglages ad hoc permettent de l'ouvrir dans le bon éditeur de textes...). Dans bien des cas la ligne de commande peut être plus rapide et plus simple que l'interface graphique, ne l'oubliez pas !! Y compris pour ouvrir un éditeur dans ladite interface graphique !
Si vous voulez garder la console disponible pour y taper d'autres commandes sans avoir à ouvrir une nouvelle console, vous pouvez lancer l'éditeur de texte en tâche de fond. Dans ce cas, au lieu des commandes indiquées plus haut, vous taperez :
Certains éditeurs de texte "graphiques" ne pourront pas être lancés à partir des "consoles texte", autrement dit ces consoles auxquelles vous accédez par la combinaison de touches Ctrl+Alt+F1 à F6. A vous de déterminer quels éditeurs sont accessibles par une "console texte" et quels éditeurs sont accessibles par une console "graphique" (comme l'utilitaire "Konsole" de KDE ou "Gnome-Terminal" de GNOME). Par sécurité, il peut être bon de savoir accéder à au moins un éditeur par le biais d'une console texte : cela pourrait vous être utile en cas de "pépin" avec votre interface graphique.
Ouvrir ou imprimer un fichier OpenOffice.org en passant par la consoleNous avons traité dans cette page et dans la précédente des moyens de manipuler par la console le contenu de fichiers texte. Mais il est aussi possible d'ouvrir ou d'imprimer à partir de la console un fichier écrit dans un format propre à un traitement de texte, comme OpenOffice.org (OOo). Par exemple, si vous avez installé le rpm Mandriva d'OpenOffice.org 2.0.x. Vous devriez pouvoir ouvrir dans OOo un fichier au format approprié, par exemple 'ingredients.odt', en invoquant une commande telle que la suivante (je suppose 'ingredients.odt' situé dans votre répertoire de travail) : oowriter2.0 ingredients.odt oowriter2.0 et pour imprimer un fichier (à condition d'avoir une imprimante, branchée, allumée et correctement configurée, bien entendu) vous ferez quelque chose d'analogue à ceci : oowriter2.0 -pt nom_de_votre_imprimante ingredients.odt sur mon système cela donnera par exemple : oowriter2.0 -pt HPPSC2500 ingredients.odt Mais il est possible de faire plus simple. Si vous utilisez quotidiennement OOo, vous pourriez créer deux alias, 'oo' et 'op', qui vous permettront d'abréger la ligne de commande invoquant OOo. Commencez par vous assurer qu'aucune commande 'oo' et 'op' n'est active sur votre système dans le cadre de votre compte utilisateur. Utilisez pour cela la commande 'type' : [toto@localhost ~]$ type oo bash: type: oo: not found [toto@localhost ~]$ type op bash: type: op: not found
La commande type présente l'intérêt pour nous de détecter, non seulement les commandes qui lancent des programmes autonomes, mais aussi les commandes internes du shell Bash, des alias, des fonctions du shell et même des mots réservés pour l'écriture de scripts. Elle est donc de ce point de vue plus sure que la commande which, qui ne détecte que les commandes correspondant à des programmes autonomes.
Nous savons donc maintenant que nos deux alias ne vont pas interférer avec des commandes 'oo' ou 'op' existantes. Ceci fait, ajoutez, dans votre fichier de configuration /home/toto/.bashrc, ces deux lignes : alias oo='oowriter2.0 ' # TP alias op='oowriter2.0 -pt HPPSC2500 ' # TP NB : "TP" représente les initiales de l'utilisateur, auteur de la commande : Toto Ptyxs. En plaçant ainsi vos initiales, vous pourrez plus tard vous souvenir que vous êtes l'auteur de ces deux lignes et qu'elles ne sont donc pas 'd'origine'. N'oubliez pas de les faire précéder d'un dièse (#), qui les transformera en 'commentaire' et leur évitera d'interférer avec le code proprement dit. Désormais, pour ouvrir un fichier comme 'ingredients.odt', situé dans votre répertoire de travail, vous n'aurez plus qu'à taper : oo ingredients.odt pour ouvrir OOo, sans charger un fichier particulier, il suffira de faire : oo et pour imprimer un fichier : op ingredients.odt Simple, non ?
Si vous voulez garder la console disponible pour y taper d'autres commandes sans avoir à ouvrir une nouvelle console, vous pouvez lancer OpenOffice.org en tâche de fond. Dans ce cas, au lieu des commandes indiquées plus haut, vous taperez :
oo ingredients.odt & oo & op ingredients.odt & Auteur : ptyxs (avril 2006) Legal: This page is covered by the GNU Free Documentation License . Standard disclaimers of warranty apply. Copyright LSTB and Mandrakesoft. |