Pipes, jokers et redirections
La commande cat
La commande cat a diverses applications. Elle permet d'afficher le contenu d'un fichier, d'écrire. La commande cat s'utilise le plus souvent avec des redirections.
-
Comment visualiser deux fichiers l'un après l'autre à l'aide de la commande cat?
-
Comment faire une copie d'un fichier sans utiliser cp ni ouvrir d'éditeur de texte?
- Utiliser cat pour écrire un peu de texte et mettre le résultat dans un fichier notes.
- Quelle différence y a-t-il entre :
et
- Le 2er effacera le fichier blu s'il existe déjà.
Que se passe-t-il, pour chaque ligne, selon que le fichier blu existe ou n'existe pas?
- Comment obtenir un fichier blo qui corresponde à un fichier bla dont les lignes seraient désormais numérotées?
Jokers et expressions régulières
- Vous avez chez vous des fichiers appelés essai1, essai2, essai3 et essai4. Comment les effacer en une seule ligne de commande?
- /!\ pas tout à fait exact car efface aussi lamaABCD.txt lama.txt et lama 123.txt
- Dans mon répertoire d'accueil, j'ai un certain nombre de fichiers avec un suffixe .c. Je désire les regrouper dans un répertoire que j'appelerai C/. Quelles sont les commandes que je dois taper?
- Vous désirez regrouper dans un répertoire 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?
- Ceci devrait fonctionner, bien que sur ma machine, on ait constaté un dysfonctionnement de la prise en compte de la casse.
- Même chose avec les fichiers dont le nom contient trois voyelles à la suite.
- En utilisant ls et grep, affichez 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";
- Contient exactement deux lettres "m";
- Contient au moins deux lettres "m";
- Contient au moins quatre caractères et aucun chiffre;
- le premier match tout ce qui contient 1 chiffre
- -v = match l'inverse
- le second n'importe quel caractère x4
- Est constitué de deux lettres exactement;
- Commence et finit par un chiffre.
- Comment éliminer les lignes vides dans un fichier? Comment éliminer les lignes ne contenant que des blancs?
- un blanc, une ou zéro fois, entre le début et la fin
-v pour afficher l'inverse : ce qui contient
qqchose
Exercices sur Germinal
Head et Tail
Ces deux commandes permettent dans un terminal unix d'afficher une partie d'un fichier, d'un résultat...
-
Affichez les 15 premières lignes du fichier /etc/hosts
- Cet exercice ainsi que les suivants ont été faits sur un fichier quelconque
lama.txt contenant 30 lignes numérotées, car le fichier
hosts ne contient que 10 lignes
-
Les 15 dernières lignes;
-
Toutes les lignes à partir de la 15ème;
-
Les lignes 15 à 20;
- On prend dans un premier temps les lignes 15 à la fin
puis on prend les 5 premières lignes, à partir de la 15.
Ce qui donne 15-20.
-
Récupérer les lignes 5 à 9 d'un fichier de 12 lignes.
-
Comment afficher la cinquième ligne d'un fichier ?
Filtres et redirections
-
Créez un fichier dont chaque ligne commence par un chiffre, suivi d'un slash (/), puis d'un ou plusieurs mots.
-
Affichez les lignes de ce fichier triées en ordre croissant, suivant le nombre placé en début de ligne;
-
Éliminez de chaque ligne le chiffre et le caractère /;
- -f2 = 2ème colonne et -d/ = délimiteur /
-
Triez ces lignes par ordre alphabétique inverse.
- Comment mettre dans un fichier la liste de tous les fichiers de l'arborescence à partir du répertoire courant ?
- -R pour afficher le contenu des sous-dossiers
- Créez un fichier liste contenant la liste de tous vos fichiers, avec leur taille, leurs droits, etc.
-
Combien de lignes contiennent le mot «file» dans la page de man de syst ?
- Quels sont les dix plus gros fichiers de /usr/bin/ ?
- -S = trier par taille
- -s = afficher la taille et le nom
- Pour chaque ligne du fichier /etc/hosts, affichez :
-
Le cinquième caractère;
- -o : le pattern, pas sa ligne
- début de la ligne, n'importe quel carac x5
- carac avant la fin de la ligne
- Les caractères 5 à 10, et le treizième;
- On prend les carac début à 10, puis 5 à la fin. Il manque le 13ème caractère